2011-05-12 77 views
68

我有一个python程序我想要安装到我的virtualenv - 这是一个zip包,我需要解压缩,然后运行setup.py程序 - 但我的问题是更多关于如何获得这些解压缩的文件放入我的virtualenv中,以便将软件包安装到virtualenv的site-packages文件夹中?Python - 手动安装包使用virtualenv

我也可以在我的virtualenv中使用pip install <package name>进行安装,但由于某些原因,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将所有相关文件转移到它自己的网站包文件夹。

或方案2是直接解压缩文件到站点包,并从那里运行它(在登录到的virtualenv后)等

谢谢你帮助一个Python clutz这个!

回答

98

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

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

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

+2

所以,真正的导入操作是使用python的版本运行python(2.6)安装在virtualenv ...很好!谢谢Dwelch。 – Jamison

+0

确保您从临时文件夹运行它; setup.py可能会期望它是当前文件夹。 – Seth

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