Python-使用virtualenv手动安装软件包


82

我有一个要安装到我的virtualenv中的python程序-这是一个需要解压缩然后运行setup.py程序的zip程序包-但我的问题更多是关于如何将这些未压缩的文件放入我的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会将所有相关文件传输到它自己的site-packages文件夹中。

或方案2是将文件直接解压缩到站点包中,然后从那里运行(登录到virtualenv之后),依此类推

感谢您帮助Python clutz!

Answers:


122

我通常将程序提取到一个临时文件夹,然后从该文件夹使用virtualenv python实例的直接路径运行setup.py。例如,如果您的virtualenv在/ home / username / virtualpy中,请使用此文件(从您的临时文件夹中)

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

这应该将其安装到您的virtualenv站点软件包文件夹中。


2
因此,实际上导入操作是使用安装在virtualenv中的python(2.6)版本运行python。不错!感谢Dwelch。
贾米森

确保从临时文件夹运行它;setup.py可能希望它是当前文件夹。
赛斯

这似乎不再是必须的。一旦激活了虚拟环境,我就可以运行python setup.py install或将python setup.py develop其安装在正确的位置。
奥利弗·

12

切换到虚拟环境时效果很好。你应该输入

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

0

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

/venv3.6/bin$ sudo pip3 install pathos

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.