pip和virtualenv的进一步配置

../_images/34018732105_f0e6758859_k_d.jpg

需要活动的虚拟环境 pip

到目前为止,应该清楚的是,使用虚拟环境是保持开发环境干净和保持不同项目需求分离的一个很好的方法。

当您开始处理许多不同的项目时,当您返回到特定的项目时,很难记住激活相关的虚拟环境。因此,可以很容易地在全局安装包,同时考虑到您实际上是在为项目的虚拟环境安装包。随着时间的推移,这可能会导致一个混乱的全局包列表。

以确保在使用时将包安装到活动虚拟环境中 pip install ,考虑将以下行添加到 ~/.bashrc 文件:

export PIP_REQUIRE_VIRTUALENV=true

保存此更改并采购 ~/.bashrc 用文件 source ~/.bashrc 如果您不在虚拟环境中,PIP将不再允许您安装软件包。如果你想用 pip install 在虚拟环境之外,PIP将轻轻地提醒您需要激活的虚拟环境来安装软件包。

$ pip install requests
Could not find an activated virtualenv (required).

您也可以通过编辑 pip.confpip.ini 文件。 pip.conf 由Unix和Mac OS X操作系统使用,可在以下位置找到:

$HOME/.pip/pip.conf

同样, pip.ini 文件由Windows操作系统使用,可在以下位置找到:

%USERPROFILE%\pip\pip.ini

如果你没有 pip.confpip.ini 在这些位置,您可以为操作系统创建一个具有正确名称的新文件。

如果您已经有一个配置文件,只需在 [global] 需要活动虚拟环境的设置:

require-virtualenv = true

如果没有配置文件,则需要创建一个新的配置文件,并在此新文件中添加以下行:

[global]
require-virtualenv = true

当然,您需要在全球范围内安装一些软件包(通常是在不同的项目中一致使用的软件包),这可以通过将以下内容添加到 ~/.bashrc 文件:

gpip() {
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

在保存更改并为您的 ~/.bashrc 文件现在可以通过运行 gpip install .您可以将函数的名称更改为任何您喜欢的名称,请记住,在尝试使用pip全局安装包时,必须使用该名称。

缓存包以供将来使用

每个开发人员都有首选的库,当您处理许多不同的项目时,您使用的库之间必然会有一些重叠。例如,您可能正在使用 requests 类库在很多不同的项目中。

每次开始处理一个新项目时(结果是在一个新的虚拟环境中),都不必重新下载相同的包/库。幸运的是,从6.0版开始,PIP提供了 on-by-default caching mechanism 不需要任何配置。

当使用旧版本时,您可以配置PIP,使其尝试重用已经安装的包。

在UNIX系统上,可以将以下行添加到 .bashrc.bash_profile 文件。

export PIP_DOWNLOAD_CACHE=$HOME/.pip/cache

您可以将路径设置为任意位置(只要您有写访问权)。添加此行后, source 你的 .bashrc (或) .bash_profile )文件和你将被全部设置。

执行相同配置的另一种方法是通过 pip.confpip.ini 文件,取决于您的系统。如果您在Windows上,可以将以下行添加到 pip.ini 文件位于 [global]

download-cache = %USERPROFILE%\pip\cache

同样,在UNIX系统上,您只需将以下行添加到 pip.conf 文件位于 [global]

download-cache = $HOME/.pip/cache

尽管您可以使用任何路径来存储缓存,但建议您创建一个新文件夹。 in 您的文件夹 pip.confpip.ini 文件生命。如果你不相信你自己拥有所有的巫毒路径,只要使用这里提供的值,你就会没事的。