程序员技术栈

2018.12最新版mac下安装virtualenvwrappe

2018-12-05  本文已影响3人  MambaHJ

前言

为了应付不同的开发需求,装virtualenvwrapper是很有必要的,但大家的机器配置各不相同,遇到的情况可能也不相同,这时候去官网看是最好的选择,但是架不住官网信息量太大,所以网上搜索教程才是大多数人的选择,那么这时候就要注意选择时间最新的教程了,毕竟随着版本的迭代更新,配置环境这事儿还是有时效性的,这篇给出mac下安装virtualenvwrapper可能会遇到的问题以及解决方案。

问题目录

  1. -bash: mkvirtualenv: command not found
  2. -bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory
  3. -bash: virtualenvwrapper.sh: No such file or directory
  4. ERROR: virtualenvwrapper could not find virtualenv in your path
  5. 每次退出终端后都要重新 source ~/.bashrc

先给出一份本文要解决的问题列表,看看有没有你也需要解决的。

正文

正常安装步骤(以python3.6为例):

  1. 安装virtualenvwrapper
    pip3 install --user virtualenvwrapper
  2. 配置~/.bashrc,让Bash自动加载virtualenvwrapper
    一开始参考《Python测试驱动开发》时,我是这么做的:
    echo "source virtualenvwrapper.sh" >> ~/.bashrc
    source ~/.bashrc
    然后初始一个虚拟环境,测试一下有没有配置好:
    mkvirtualenv --python=python3.6 superlists
    但是报错了...错误如下(目录中的第一个错误):
    -bash: mkvirtualenv: command not found
    搜索之后发现,是~/.bashrc没有配置好,于是vim ~/.bashrc开始配置:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

保存之后执行source ~/.bashrc,继续报错-bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory,大概明白了错误在哪里,virtualenvwrapper.sh这个文件找不到了,好办,接下来展示一下如何花式找文件:
2.1 which virtualenvwrapper.sh,书上提供的方法,不过我试了没反应,大家可以试试看
2.2 sudo find / -name virtualenvwrapper.sh,一定要加sudo,不然因为文件权限的原因,会一直Permission denied,等了一会儿成功找到了路径:
/Users/macbook/Library/Python/3.6/bin/virtualenvwrapper.sh
2.3 就是建议大家找之前先去 /Users/*/Library/Python/*/bin/或者/Library/Frameworks/Python.framework/Versions/*/bin/(*内容根据你自身配置决定),这几个路径找找看,一般都安装在这里。
找到之后,就可以配置~/.bashrc了,我的完整配置如下(记得保存执行source ~/.bashrc):

export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
export VIRTUALENVWRAPPER_PYTHON=/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
source /Users/macbook/library/Python/3.6/bin/virtualenvwrapper.sh

到这里,关于~/.bashrc的配置就结束了

  1. 配置virtualenv,建立软连接
    配置完~/.bashrc之后,我们就要开始新建一个虚拟环境实施了:
    输入命令:mkvirtualenv --python=python3.6 superlists
    很不幸,又报错了,这次的错误如下:
    ERROR: virtualenvwrapper could not find virtualenv in your path
    产生这个错误的原因是virtualenv直接被默认安装在了Python目录下,因此我们需要将它和外部建立一个软连接,命令如下(具体路径视你的配置而定):
sudo ln -s /Users/macbook/Library/Python/3.6/bin/virtualenv /usr/local/bin/virtualenv

搞定之后就完成了所有的配置了,接下来只需要:
mkvirtualenv --python=python3.6 name就可以愉快的开始新建了。
这里说一下简单的几个命令:

  1. 但是...问题到这里还没有结束!看问题5,第二天我打开终端后使用workon superlists的时候发现command not found???一番操作才发现原来每次打开一个新的终端时都要执行一遍source ~/.bashrc才能运行。
    这里给出一个解决办法(当然如果你不觉得每次都要输source ~/.bashrc麻烦,那下面的就不用看了):
    a. 打开终端输入:vi ~/.bash_profile
    b. 在.bash_profile文件的最末尾上加入如下语句:
  if [ -f ~/.bashrc ]; then
  source ~/.bashrc
  fi

之后保存退出就可以了,再次重新打开,就不用重复执行source ~/.bashrc啦,
至此,这篇教程就结束了,有问题欢迎交流。

上一篇 下一篇

猜你喜欢

热点阅读