1

我安装了 Debian OS 和 python 2.7 版。但我有一个关于 package 的奇怪问题six。我想使用 1.10 版本。

我已经通过 pip 安装了六个 1.10:

$ pip list
...
six (1.10.0)

但是当我运行以下脚本时

python -c "import six; print(six.__version__)"

它说1.8.0

原因是OS中安装的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 安装的包?

4

1 回答 1

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 安装的任何包都将放置在该文件夹中,与全局Python 安装venv隔离。

pip install six

现在你运行代码。完成后,只需停用venv

deactivate

另请参阅原始资源

于 2016-09-20T11:31:13.377 回答