Python 3.x Python3虚拟环境和PIP
我想在一个纯粹通过python3.3解释的虚拟环境中玩。在我的系统(Ubuntu13.04)上,有两种创建虚拟环境的方法Python 3.x Python3虚拟环境和PIP,python-3.x,Python 3.x,我想在一个纯粹通过python3.3解释的虚拟环境中玩。在我的系统(Ubuntu13.04)上,有两种创建虚拟环境的方法 virtualenv env 或: 如果我使用旧的忠实版本,virtualenv,我就能够按预期使用所有内容,但是,PIP将所有内容安装到python2.7libs中,而不是python3.3libs中。因此,使用 python3 script.py 似乎不起作用,但: python script.py 工作起来很有魅力。但是,显然必须使用python2.7 现在
virtualenv env
或:
如果我使用旧的忠实版本,virtualenv
,我就能够按预期使用所有内容,但是,PIP将所有内容安装到python2.7libs中,而不是python3.3libs中。因此,使用
python3 script.py
似乎不起作用,但:
python script.py
工作起来很有魅力。但是,显然必须使用python2.7
现在,如果我使用Python3+中的“内置”venv(
pyvenv-3.3
),似乎一切都有点古怪。它正确地将python3.3 lib文件夹放置在venv中,但是,不再可能使用PIP安装模块,因为它似乎以某种方式引用了全局环境,而不是虚拟环境
virtualenv env
那么,关于我的问题:
您建议如何获得一个只有Python3.3(+)和PIP安装到Python3.3 libs的工作虚拟环境 这对我很有用:
> virtualenv-3.3 env
...
> source env/bin/activate
> pip install simple-date
...
> python
Python 3.3.0 (default, Mar 27 2013, 20:56:52)
[GCC 4.7.2 20130108 [gcc-4_7-branch revision 195012]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import simpledate
>>>
不幸的是,我不完全确定我当时是如何安装virtualenv-3.3的。我想我可能做了如下事情:
> wget http://python-distribute.org/distribute_setup.py
> python3.3 distribute_setup.py
> easy_install-3.3 virtualenv
[编辑:是的,我的笔记似乎证实了这一点]
请注意,这是一个特定于python-3.3的virtualenv
如评论中所述,我不能得到PyvV-3.3来工作。
你可以考虑尝试类似于以下的事情:$ python3 -m venv myvenv
$ source myvenv/bin/activate
(myvenv)$
(myvenv)$ deactivate
$ source myvenv/bin/activate
(myvenv)$ which pip
哪个pip
和pip-V
检查您的pip。如果您没有停用/激活venv并且pip-V
将不会显示正确的pip,但是哪个pip
可能仍然显示正确的路径。以下是我是如何做到的(我在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
我在OSX上也遇到了同样的问题。看起来,即使是通过
easy\u install
放入bin/
的pip
可执行文件也仍然适用于Python 2。如果您使用pip3
可执行文件(或其变体),它应该可以正常工作 文档中提到过:
常见的安装工具,如Distribute和pip,在venv中可以按预期工作,即当venv处于活动状态时,它们将Python软件包安装到venv中,而无需明确告知**
当然,您需要首先将它们安装到venv中:这可以通过在激活venv的情况下运行distribute_setup.py来完成,然后运行easy_install pip**
。或者,您可以下载源tarballs并在解包后运行python setup.py安装,同时激活venv
我已经在我的基本操作系统(一个基于Ubuntu的Linux发行版)中安装了Python 3.4
我想表明一点。在Python 3.4 Ubuntu包**中,当您创建虚拟环境(使用pyvenv-3.4)时,pip安装在local/bin而不是bin下
因此,要使用它,您必须修改第44行的bin/activate脚本。应该是
PATH="$VIRTUAL_ENV/bin:$VIRTUAL_ENV/local/bin:$PATH"
最新版本的
pip
有一个pip3
函数,将安装到默认的Python3实例中
pip3 install python_lib
如果系统上同时安装了Python2.x和3.y,
pip
将安装到Python2.x中,pip3
将安装到Python3.y中。。奇怪的我运行了pyvenv-3.3env
然后sourceenv/bin/activate
然后wgethttp://python-distribute.org/distribute_setup.py
thenpython distribute\u setup.py
theneasy\u install pip
thenpip install simple date
它正试图安装在系统libs中。听起来是同一个问题。这是在opensuse上。好像是某个地方的一个bug。是的,似乎是访问系统而不是虚拟环境。奇怪的是,它是一个venv.+1,然而,我真的在寻找一个使用pyvenv-3.3的工作解决方案,因为我对新内置的venv有一些功能感兴趣。不管怎样,我都很感激你的尝试。我有一个类似于马特的解决方案,除了我在mac电脑上。但步骤基本相同。我在博客中提到了这些步骤:Ubuntu 12.04 LTS上的charm之类的作品可能值得注意的是,在使用pip之前,应该重新激活venv,否则使用的pip版本仍然是我使用python3.6的系统版本,并且默认情况下安装了pip蟒蛇3.6-m文氏'。源路径/to/install/bin/activate,然后运行pip--versionWell并没有使它更容易。
pip3 install python_lib