Python - 使用virtualenv手动安装包

时间:2011-05-12 14:26:37

标签: python installation virtualenv pip virtualenvwrapper

我有一个我要安装到我的virtualenv中的python程序 - 它是一个拉链包,我需要解压缩然后运行一个setup.py程序 - 但我的问题更多是关于如何将这些解压缩的文件放入我的virtualenv所以该软件包是否已安装到virtualenv的site-packages文件夹中?

我也可以使用pip install <package name>从我的virtualenv内部安装,但出于某种原因,PIP下载的包已过期。

那么 - 有人可以告诉我手动安装软件包的一些简单步骤吗?

到目前为止,我已经有了加载Virtualenv的基本命令:

-bash-3.2$ source ~/.bashrc
-bash-3.2$ workon test
(test)-bash-3.2$ //Now I'm working on my virtualenv, but where do I go after this??

那么 - 解压缩python包/程序的位置是否重要 - 或者我应该在解压缩之前首先登录virtualenv?在我加载了virtualenv并且我在内部使用'workon test'命令之后,我安装的任何python包,无论我找到它的目录,都将自己安装到正确的virtualenv的site-packages文件夹中?

选项1是将python程序解压缩到/ home / username / tmp - 然后登录到我的virtualenv,导航到该文件夹​​并运行setup.py程序 - 假设virtualenv将所有相关文件传输到它自己的站点-packages文件夹。

OR方案2是将文件直接解压缩到site-packages中,然后从那里运行(登录virtualenv后)等等

感谢您帮助Python clutz!

4 个答案:

答案 0 :(得分:112)

我通常会将程序解压缩到一个临时文件夹,然后从该文件夹运行setup.py,使用virtualenv python实例的直接路径。例如,如果你的virtualenv在/ home / username / virtualpy中,请使用它(来自你的临时文件夹)

/home/username/virtualpy/bin/python setup.py install

这应该将它安装到你的virtualenv站点包文件夹中。

答案 1 :(得分:9)

当你切换到虚拟环境时。你应该输入

which python

如果它返回虚拟环境所在的路径,那么可以直接运行此命令。

$ python setup.py build
$ python setup.py install

但是如果它给出了不是virtualenv's路径的全局级别路径,那么您应该尝试使用

$ ~/.virtualenv/python-env/bin/python setup.py build
$ ~/.virtualenv/python-env/bin/python setup.py install

答案 2 :(得分:0)

如果无法从存储库中安装软件包,请使用sudo在venv下尝试。 作为python pathos包的示例;

/venv3.6/bin$ sudo pip3 install pathos

答案 3 :(得分:0)

PACKAGE_DIR = / some / package / directory / path 导出VENV = $(pipenv --venv)&&导出BASE_DIR = $(pwd)&& cd $ PACKAGE_DIR && $ VENV / bin / python setup.py install && cd $ BASE_DIR