我安装了Debian OS和python版本2.7。但我对包six
有一个奇怪的问题。我想使用1.10版本。
我已经通过pip安装了六个1.10:
$ pip list
...
six (1.10.0)
但是当我运行以下脚本时
python -c "import six; print(six.__version__)"
它说1.8.0
原因是操作系统中安装的veriosn不同:
$ sudo apt-cache policy python-six
python-six:
Installed: 1.8.0-1
Candidate: 1.8.0-1
Version table:
1.9.0-3~bpo8+1 0
100 http://172.24.70.103:9999/jessie-backports/ jessie-backports/main amd64 Packages
*** 1.8.0-1 0
500 ftp://172.24.70.103/mirror/jessie-debian/ jessie/main amd64 Packages
500 http://172.24.70.103:9999/jessie-debian/ jessie/main amd64 Packages
100 /var/lib/dpkg/status
如何强制python使用通过pip安装的软件包?
答案 0 :(得分:1)
您可以使用virtualenv
。
pip install virtualenv
cd project_folder
virtualenv venv
virtualenv venv
将在当前目录中创建一个包含Python可执行文件的文件夹,以及可用于安装其他包的pip库的副本。虚拟环境的名称(在这种情况下,它是venv)可以是任何东西;省略名称会将文件放在当前目录中。
设置希望的python解释器
virtualenv -p /usr/bin/python2.7 venv
激活环境
source venv/bin/activate
从现在开始,使用pip安装的任何软件包都将放在venv
文件夹中,与全局 Python安装隔离。
pip install six
现在你运行代码。当您完成simpliy停用venv
deactivate