Python3虚拟环境和PIP

Bra*_*sen 17 python-3.x

我想在一个纯粹通过python3.3解释的虚拟环境中玩游戏.在我的系统(Ubuntu 13.04)上,有两种方法可以创建虚拟环境.

virtualenv env
Run Code Online (Sandbox Code Playgroud)

要么:

pyvenv-3.3 env
Run Code Online (Sandbox Code Playgroud)

如果我使用旧的忠实用户,virtualenv我可以按预期使用所有内容,但是,PIP会将所有内容安装到python2.7 libs而不是python3.3 libs中.所以,使用调用脚本

python3 script.py 
Run Code Online (Sandbox Code Playgroud)

似乎没有用,但是:

python script.py 
Run Code Online (Sandbox Code Playgroud)

奇迹般有效.但是,显然必须使用python2.7


现在,如果相反,我使用来自Python3 +(pyvenv-3.3)的"内置"venv ,似乎一切都变得有点笨拙.它正确地将一个python3.3 lib文件夹放在venv中,然而,使用PIP安装模块不再可能,因为它似乎以某种方式引用全局而不是虚拟环境.

所以,关于我的问题:

您如何建议只使用Python3.3(+)和PIP安装到python3.3库中的工作虚拟环境?

Mat*_*ohm 50

您可以考虑尝试类似以下内容:

  1. 创建您的虚拟环境

    $ python3 -m venv myvenv
    $ source myvenv/bin/activate
    (myvenv)$
    
    Run Code Online (Sandbox Code Playgroud)
  2. 根据官方的pip安装说明安装pip . 从pip v1.5.1开始,你不再需要在安装pip之前手动安装setuptools.

    (myvenv)$ curl https://bootstrap.pypa.io/get-pip.py | python
    
    Run Code Online (Sandbox Code Playgroud)
  3. 停用然后重新激活您的虚拟环境. 这样做或pip将无法正常工作.

    (myvenv)$ deactivate
    $ source myvenv/bin/activate
    (myvenv)$ which pip
    
    Run Code Online (Sandbox Code Playgroud)

更长的回应:

是的,我有类似的问题.它与生活在你的系统上的所有其他蟒蛇和点子以及没有安装的点子有关,就像你习惯的非"核心"虚拟现实一样.

由于某种原因,venv模块不安装setuptools和pip.

我做了以上,到目前为止,这么好.

Python 3.3中的venv 本身不安装pip:

常见的安装工具,如Distribute和pip与venvs一样工作 - 即当一个venv处于活动状态时,他们将Python软件包安装到venv中,而不需要被告知明确这样做.当然,您需要先将它们安装到venv中.

默认情况下,venv 的Python 3.4实现安装了pip.

版本3.4中已更改:默认情况下安装pip

http://docs.python.org/3/library/venv.html

你可以用which pip和检查你的点子pip -V.如果您没有停用/激活venv并且pip -V不会显示正确的pip,但which pip仍可能显示正确的路径.

  • 可能值得注意的是,在使用pip之前应该重新激活venv,否则使用的pip版本仍然是系统版本 (3认同)

Ken*_*ang 7

我是这样做的(我在Ubuntu 12.04上).

例如,首先,在文件夹中安装Python 3.3 /opt/python3.然后运行以下命令:

/opt/python3/bin/pyvenv-3.3 ~/py3  # pyvenv is python3's built-in virtualenv
source ~/py3/bin/activate
curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python
easy_install-3.3 pip 
Run Code Online (Sandbox Code Playgroud)


Tha*_*mer 5

最新版本pip具有pip3将安装到您的默认Python3实例功能.

pip3 install python_lib
Run Code Online (Sandbox Code Playgroud)

如果您的系统上同时包含Python 2.x和3.y,pip则将安装到Python 2.x和pip3Python 3.y中.