安装pip、virtualenv和distribute用于Python的正确方法是什么?

12 浏览
0 Comments

安装pip、virtualenv和distribute用于Python的正确方法是什么?

简短问题

\n

\n

背景

\n在我的回答中,我推荐使用ez_setup,然后按照以下步骤安装pipvirtualenv:\n

curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv

\n我最初从Jesse Noller的博客文章So you want to use Python on the Mac?中获取了这些指令。我喜欢保持一个干净的全局site-packages目录的想法,所以我在那里安装的其他包只有virtualenvwrapperdistribute。(最近我添加了distribute到我的工具箱,因为这个Python公告。为了安装这两个包,我使用了:\n

sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py

\n

不再使用setuptools和easy_install

\n为了真正遵循那个Python公告,在新的Python安装中,我会执行以下操作:\n

curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper

\n

Glyph的指责

\n在对我的回答的评论中,SO用户Glyph说:\n

\n绝对不要使用sudo python setup.py install。编写一个~/.pydistutils.cfg将pip安装到~/.local或其他位置。特别是名为ez_setup.py的文件往往会下载更新版本的setuptools和easy_install,这可能会破坏操作系统上的其他东西。\n

\n

回到简短问题

\n因此,Glyph的回答引导我回到我的最初问题:\n

0
0 Comments

问题出现的原因:用户想要知道如何正确安装Python的pip、virtualenv和distribute。

解决方法:根据所提供的步骤,可以在Ubuntu上通过以下命令安装pip和python-dev:

sudo apt-get install python-pip python-dev

在OS X上,可以使用homebrew安装python:

brew install python

安装完pip后,可以使用以下命令安装其他必要的包(在OS X中可以省略sudo,因为使用的是本地python安装):

sudo pip install virtualenvwrapper

在Ubuntu 14.04中,可能会遇到pip安装错误的问题,可以尝试使用以下命令:

pip3 install virtualenv virtualenvwrapper

然后将以下内容添加到.bashrc文件中:

export WORKON_HOME
source /usr/local/bin/virtualenvwrapper.sh

最后,运行以下命令以使更改生效:

. ~/.bashrc

要创建一个包含系统级包的虚拟环境,可以使用以下命令:

mkvirtualenv --system-site-packages foo

要创建一个完全分离的环境,可以使用以下命令:

mkvirtualenv --no-site-packages bar

或者直接使用默认选项:

mkvirtualenv bar

然后可以在虚拟环境中使用pip安装所需的包:

pip install flask

关于安装setuptools和distribute的问题,这取决于包管理器。根据当前的情况,Ubuntu和OS X使用的是setuptools。设置WORKON_HOME为空可以将其默认为~/.virtualenvs。

以上就是该问题的原因和解决方法。

0
0 Comments

问题的出现原因是安装pip、virtualenv和distribute时遇到了一些困难,需要找到正确的安装方法。解决方法如下:

1. 创建一个名为~/.local的目录(如果不存在)。

2. 在~/.bashrc中,确保~/.local/binPATH中,并且~/.localPYTHONPATH中。

3. 创建一个名为~/.pydistutils.cfg的文件,其中包含以下内容:

[install]

prefix=~/.local,这是一个标准的ConfigParser格式文件。

4. 下载distribute_setup.py文件,并运行python distribute_setup.py(不要使用sudo)。如果它报错找不到site-packages目录,则手动创建它:mkdir -p ~/.local/lib/python2.7/site-packages/

5. 运行which easy_install来验证它是否来自~/.local/bin

6. 运行pip install virtualenv

7. 运行pip install virtualenvwrapper

8. 创建一个包含虚拟环境的文件夹,例如~/.virtualenvs

9. 在~/.bashrc中添加以下内容:

export WORKON_HOME
source ~/.local/bin/virtualenvwrapper.sh

10. 完成,完全没有使用sudo,您的Python环境位于~/.local中,与操作系统的Python完全分离。免责声明:不确定这种情况下virtualenvwrapper的兼容性-我无法在我的系统上测试它。

至于~/.local是不是一个愚蠢的名字,如果Ruby也想这样做会怎么样?也许~/.python27更好一些。

还有一点,我刚在Windows上尝试了同样的方法,并且必须将本地文件夹(例如叫做"local")和"local\Lib\site-packages"都添加到PYTHONPATH中,才能成功运行distribute_setup.py。

这种方法的最后一个问题是,virtualenv与使用.pydistutils.cfg文件不兼容。请参阅github.com/pypa/virtualenv/issues/88

我认为在第5步和第6步之间应该有一个easy_install pip

~/.local的命名来源于PEP 370。

0
0 Comments

Python的pip、virtualenv和distribute是Python开发中常用的工具。本文将介绍如何正确安装它们。

可以在不安装任何东西到Python本身的情况下进行安装。

不需要使用sudo或任何特权。

不需要编辑任何文件。

首先,将virtualenv安装到一个引导虚拟环境中。然后使用该虚拟环境创建更多的虚拟环境。由于virtualenv已经包含了pip和distribute,所以只需进行一次安装即可获得所有东西。

以下是安装步骤:

1. 下载virtualenv:

- [http://pypi.python.org/pypi/virtualenv](http://pypi.python.org/pypi/virtualenv)

- [https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.7.tar.gz](https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.7.tar.gz)(或最新版本)

2. 解压源码压缩包

3. 使用解压后的文件创建一个干净的虚拟环境,该虚拟环境将用于"引导"其他环境。所有的虚拟环境将自动包含pip和distribute。

4. 使用pip在引导环境中安装virtualenv。

5. 使用引导环境创建更多环境。

以下是一个bash的示例代码:

# 选择当前版本的virtualenv:
VERSION=12.0.7
# 为第一个"引导"环境命名:
INITIAL_ENV=bootstrap
# 设置第一个环境所需的Python解释器:
PYTHON=$(which python)
URL_BASE=https://pypi.python.org/packages/source/v/virtualenv
# --- 真正的工作从这里开始 ---
curl -O $URL_BASE/virtualenv-$VERSION.tar.gz
tar xzf virtualenv-$VERSION.tar.gz
# 创建第一个"引导"环境。
$PYTHON virtualenv-$VERSION/virtualenv.py $INITIAL_ENV
# 不再需要这个文件夹。
rm -rf virtualenv-$VERSION
# 在环境中安装virtualenv。
$INITIAL_ENV/bin/pip install virtualenv-$VERSION.tar.gz

现在,可以使用"引导"环境创建更多环境:

# 从第一个环境创建第二个环境:
$INITIAL_ENV/bin/virtualenv py-env1
# 创建更多环境:
$INITIAL_ENV/bin/virtualenv py-env2

这样就可以愉快地使用了!

注意:

- 假设您不使用旧版本的virtualenv。旧版本需要使用选项`--no-site-packages`(根据Python的版本不同,可能还需要`--distribute`)。现在只需使用`python virtualenv.py path-to-bootstrap`或`python3 virtualenv.py path-to-bootstrap`即可创建引导环境。

- 这个过程很简单,只需下载、解压,然后运行`python virtualenv.py TARGET_DIRECTORY`即可完成相同的操作。

- 这个方法非常棒。我根据自己更具体的问题进行了调整,这个问题是关于在多个独立于系统包的Python版本上正确安装virtualenv的。[stackoverflow.com/questions/6812207/…](stackoverflow.com/questions/6812207/…) - 完美解决。

- 注意:当前的`virtualenv`不需要`--no-site-packages`和`--distribute`选项。可能需要使用相反的选项`--system-site-packages`。

- 可以使用以下命令获取最新稳定版本的tarball:`curl -Lo virtualenv-tmp.tar.gz 'https://github.com/pypa/virtualenv/tarball/master'`

- `virtualenvwrapper`应该安装在哪里?文档明确警告不要在虚拟环境中安装它(尽管看起来是可以的)。[The docs](http://virtualenvwrapper.readthedocs.org/en/latest/install.html#basic-installation)。

0