Ubuntu16.04 LTS下多版本Python虚拟环境搭建及相关问题咨询
Ubuntu 16.04 LTS下Python虚拟环境搭建的问题与解决方案
兄弟,我完全懂你这种折腾了好几次还搞不定的崩溃感,尤其是Linux新手面对各种Python版本和工具的时候,很容易越搞越乱。我来一步步给你理清楚:
问题1:安全更新pip(Python2.7)和pip3(Python3.5)不破坏系统
直接全局升级系统自带的pip风险很高——因为Ubuntu的一些系统工具可能依赖旧版本的pip,强行升级会导致这些工具失效。最安全的方式是把新版本安装到用户个人目录,这样既不影响系统全局,又能使用更新后的版本:
更新Python2.7对应的pip:
pip install --user --upgrade pip加上
--user参数后,pip会被安装到~/.local/bin目录下,这个目录在你的用户PATH优先级里比系统的/usr/bin高,所以之后你输入pip调用的就是更新后的版本了。更新Python3.5对应的pip3:
pip3 install --user --upgrade pip同理,更新后的pip3也会放到
~/.local/bin,不会干扰系统自带的版本。
验证更新是否成功:
pip --version # 应该显示9.0.1(对应Python2.7) pip3 --version # 应该显示9.0.1(对应Python3.5)
问题2:选择哪个pip安装virtualenv和virtualenvwrapper
你主要使用的是Python3.6,所以直接用Python3.6对应的pip3.6来安装是最稳妥的,这样后续创建的虚拟环境默认会绑定Python3.6,避免版本混淆:
pip3.6 install --user virtualenv virtualenvwrapper
额外关键配置
安装完成后,还需要在你的shell配置文件(比如~/.bashrc)里添加以下内容,让virtualenvwrapper能正常工作:
# 设置虚拟环境存储目录 export WORKON_HOME=$HOME/.virtualenvs # 指定virtualenvwrapper使用的Python版本(你的Python3.6路径) export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.6 # 加载virtualenvwrapper脚本 source ~/.local/bin/virtualenvwrapper.sh
保存文件后,执行以下命令让配置生效:
source ~/.bashrc
之后你就可以用mkvirtualenv myenv创建默认使用Python3.6的虚拟环境,用workon myenv激活环境,deactivate退出环境,非常方便。
内容的提问来源于stack exchange,提问作者alligator123




