Ubuntu 16.04 virtualenvwrapper python3.6 路径

Dan*_*ate 3 python pip 16.04

我不确定这应该在这里还是在 python 板上,但是因为除了在 Ubuntu 16.04 系统上之外,这不会发生在其他任何地方,我认为它可能是正确的地方。

我有一个使用 Amazon Ec2 设置的 Ubuntu 16.04 服务器。

我已经使用此处最佳答案中的第一个选项安装了 python3.6:
如何使用 apt-get 安装 Python 3.6?


我还使用这种方法安装了 pip3:

apt-get install python3-pip
Run Code Online (Sandbox Code Playgroud)

使用 pip3 我安装virtualenvvirtualenvwrapper

pip3 install virtualenv
pip3 install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)

我通过将它添加到我的 .bashrc 文件中,将我的 virtualenv 目录设置为主目录

export WORKON_HOME=$HOME/.virtualenv
Run Code Online (Sandbox Code Playgroud)

然后使用重新加载bash source ~/.bashrc

这一切正常。

当我尝试运行时的下一步

source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

这是包网站和几篇 askubuntu 文章示例所建议的,我收到此错误:

-su: /usr/local/bin/python3: 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/python3 and that PATH is
set properly.
Run Code Online (Sandbox Code Playgroud)

首先这是什么意思,它是如何解决的?

下一个问题似乎相关。

看来我现在可以访问 virtualenvwrapper 命令了。

当我跑

mkvirtualenv 测试

env 是在预期位置创建的,但是我得到以下输出并出现错误:

Using base prefix '/usr'
New python executable in /home/web/.virtualenvs/test/bin/python3
Not overwriting existing python script /home/web/.virtualenvs/test/bin/python (you must use /home/web/.virtualenvs/test/bin/python3)
Installing setuptools, pip, wheel...done.
virtualenvwrapper_run_hook:12: permission denied:
Run Code Online (Sandbox Code Playgroud)

小智 7

我认为您只需要VIRTUALENVWRAPPER_PYTHON在运行virtualenvwrapper命令之前将变量设置为 python3 即可。

所以只需添加:

VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'
source /usr/local/bin/virtualenvwrapper.sh
Run Code Online (Sandbox Code Playgroud)

到您的.bashrc.

(来自http://railslide.io/virtualenvwrapper-python3.html