在全新安装的 16.04 中,我尝试按照以下步骤安装 virtualenvwrapper这个很棒的答案格哈德·伯格。
配置完成后.bashrc
,每次打开终端都会显示
bash: /usr/local/bin/python2.7: No such file or directory
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 and that PATH is
set properly.
脚本位置是,
$ sudo find / -name virtualenvwrapper.sh
[sudo] password for john:
/usr/local/bin/virtualenvwrapper.sh
我的内容.bashrc
是,
export WORKON_HOME=/home/john/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRTUALENV_BASE=/home/john/.virtualenvs
这是我的pip freeze
cffi==1.5.2
greenlet==0.4.9
pbr==1.10.0
readline==6.2.4.1
six==1.10.0
stevedore==1.15.0
virtualenv==15.0.2
virtualenv-clone==0.2.6
virtualenvwrapper==4.7.1
Python 解释器的位置,
$ which python
/usr/bin/python
我怎样才能让它工作?
谢谢。
答案1
我正在使用 Ubuntu 服务器 16.04,您还应该导出安装了 virtualenvwrapper 的 Python 解释器
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.virtualenvs
source /home/vagrant/.local/bin/virtualenvwrapper.sh
确保根据您自己的系统替换上述所有路径。您的包装器脚本可能位于/usr/local/bin/virtualenvwrapper.sh
,或者您可能使用不同的解释器或虚拟环境主目录,...
答案2
在.bashrc
变化中
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
然后让它在当前 shell 中工作
source /usr/local/bin/virtualenvwrapper.sh
之后,改变virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON="$(command \which python)"
对此
VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"
答案3
只是评论
源 /usr/local/bin/virtualenvwrapper.sh
线路输入
~/.bashrc
文件....它对我有用。
答案4
首先使用以下命令交叉验证 .bashrc 中的 PATH:
which virtualenv
which virtualenvwrapper.sh
输出:
echo $VIRTUALENVWRAPPER_PYTHON
和
which python3
应该相同
/usr/bin/python3
根据以上结果配置路径
导出 WORKON_HOME=~/.virtualenvs
导出 MY_PROJECT=~/my_proj
导出 VIRTUALENVWRAPPER_WORKON_CD=1
导出 VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
导出 VIRTUALENVWRAPPER_VIRTUALENV='哪个虚拟环境的结果'
源‘virtualenvwrapper.sh 的结果’
如果验证路径后仍然存在初始化挂钩错误。
然后,在源代码中保留所有内容,只需将其替换virtualenvwrapper.sh
为virtualenvwrapper_lazy.sh
那么它应该可以工作