使用pip在virtualenv中安装软件包会导致软件包安装在全局site-packages文件夹中,而不是virtualenv文件夹中的软件包.以下是我在OS X Mavericks(10.9.1)上设置Python3和virtualenv的方法:
我使用Homebrew安装了python3:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
brew install python3 --with-brewed-openssl
Run Code Online (Sandbox Code Playgroud)
更改了pip3.bash_profile中的变量; 添加以下行:
export PATH=/usr/local/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
运行virtualenv返回$PATH(重启shell后).
注意:.bash_profile仍然会返回/ which python3.
使用pip3安装virtualenv:
pip3 install virtualenv
Run Code Online (Sandbox Code Playgroud)
接下来,创建一个新的virtualenv并激活它:
virtualenv testpy3 -p python3
cd testpy3
source bin/activate
Run Code Online (Sandbox Code Playgroud)
注意:如果我没有指定-p python3,那么virtualenv中的bin文件夹中将缺少pip.
运行/usr/local/bin/python3并which python3返回virtualenv文件夹:
/Users/kristof/VirtualEnvs/testpy3/bin/pip3
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试在激活的virtualenv中使用pip安装例如Markdown时,pip将安装在全局site-packages文件夹中,而不是virtualenv的site-packages文件夹中.
pip install markdown
Run Code Online (Sandbox Code Playgroud)
运行usr/bin/python回报:
Markdown (2.3.1)
pip (1.4.1)
setuptools (2.0.1)
virtualenv (1.11)
Run Code Online (Sandbox Code Playgroud)
内容virtualenv:
__pycache__/
_markerlib/
easy_install.py
pip/
pip-1.5.dist-info/
pkg_resources.py
setuptools/
setuptools-2.0.2.dist-info/
Run Code Online (Sandbox Code Playgroud)
内容pip3 …
我在虚拟环境中安装boto3时遇到问题.
我已经完成了文件所说的内容.首先我激活了虚拟环境.然后我做了一个:
Sudo pip install boto3
Run Code Online (Sandbox Code Playgroud)
现在我进入python
>> import boto3
ImportError: No module named boto3
Run Code Online (Sandbox Code Playgroud)
但是如果我导入boto,它就可以了
>> import boto
>> boto.Version
'2.38.0'
Run Code Online (Sandbox Code Playgroud)
为什么安装boto3时会安装boto 2.38.我试着关闭终端并重新打开它.我应该重启Ubuntu机器吗?