如何在Python中使用virtualenv?

Yas*_*Yas 6 python virtualenv

我打算为Python安装一个虚拟环境,以便将我的Python包分开.其中一个动机也是我的机器上有两个版本的Python(Ubuntu 14.04)共存.我有以下奇迹:

  1. 应该以什么顺序安装Python,PIP和virtualenv?它有关系吗?
  2. 完成后,如何在virtualenv下保留两个python版本?
  3. 假设我正在处理单独的项目,是否建议将每个项目保存在virtualenv创建的单独文件夹中?

我想知道专家的意见,以便以正确的方式和明智地做事.

Hop*_*per 7

使用 virtualenv 在 Python 程序员中很常见。这些链接将比我的答案更有用:

  • http://docs.python-guide.org/en/latest/dev/virtualenvs/
  • http://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

    1. 是的,这很重要。Pip 使用 Python,但由于 Ubuntu 预装了一个 Python 版本(在您的情况下,安装了 2 和 3),您不必担心这一点。但顺序是 Python -> PIP -> virtualenv。

    2. 进入cd一个新的空项目文件夹后,您可以使用您选择的 Python 版本创建 virtualenv virtualenv -p /path/to/python/version venv。您可以使用which python2或找到路径which python3

    3. 如果我正确理解你的问题 - 是的。virtualenv 的重点是将每个项目保存在一个单独的文件夹中,并设置了自己的 virtualenv。即使是一个小项目,你也会更加熟悉 virtualenv 的概念(甚至可能是像 Docker 这样的容器)。


hec*_*nto 6

  1. 您按顺序安装它,请参阅下面的说明(尽管有替代方案).你可以在pip之前用APT安装virtualenv,但是既然你安装了pip,你就不需要了.
  2. 我现在不是真的,但是我找到了另一个可能对你帮助的线程:如何在python 3.4中使用pip3?
  3. 强烈建议,依赖关系可能不一样,它将帮助您保持清洁(例如关于版本控制)

现在,如何安装 Python For Ubuntu 14.04你将安装python2.7和python3,默认情况下"python"是python2.7的别名.

你可以安装Pip:

sudo apt-get install python-pip python3-pip
Run Code Online (Sandbox Code Playgroud)

我不知道py3和pip的pip是如何共存的,但是它们可以作为独立的包使用.

VirtualEnv 您可以使用pip来安装virtualenv:

pip install virtualenv
Run Code Online (Sandbox Code Playgroud)

这里我使用pip for python2


一旦完成所有设置,我会执行以下操作:

mkdir -p project_name/source
cd project_name
virtualenv env
Run Code Online (Sandbox Code Playgroud)

我通常在每个项目中保持env名称不变,因为我有一些钩子,但我建议你更换名称,特别是"env",因为它是了解你工作的VirtualEnv的关键,因为你会得到这样的东西:

(env)yser@machine:/home/user/cool_projects/project_name$
Run Code Online (Sandbox Code Playgroud)

我还保持env源代码以简化版本控制(不需要将其标记为忽略),但这只是我.

要激活virtualenv:

cd project_name
source env/bin/activate
Run Code Online (Sandbox Code Playgroud)

现在您可以在VirtualEnv中进行pip安装.要更改项目,请退出当前的VirtualEnv:

deactivate
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!


Moh*_*lil 6

是的,最好为每个 python 项目使用它的 virtualenv

1-在 venv 文件夹中创建 python virtualenv 使用:

>>> cd [your project path]
>>> virtualenv venv
Run Code Online (Sandbox Code Playgroud)

2-您可以通过以下方式激活您的环境:

>>> source ./venv/bin/active
Run Code Online (Sandbox Code Playgroud)

3- 使用 pip 安装您的需求包:

>>> pip install -r <your requirements file>
>>> or pip install <python module>
Run Code Online (Sandbox Code Playgroud)

您还可以在不激活环境的情况下安装您的需求模块

>>> ./venv/bin/pip install <python module>
Run Code Online (Sandbox Code Playgroud)

4-运行你的python脚本使用:

>>> python <.py file>
Run Code Online (Sandbox Code Playgroud)

如果你没有激活你的 env 使用:

 >>> ./venv/bin/python <.py file>
Run Code Online (Sandbox Code Playgroud)

如果你想管理你的 python env 你有虚拟包装器