Python - 使用虚拟环境手动安装软件包

92

我有一个Python程序,我想要将其安装到我的虚拟环境中 - 它是一个需要解压缩并运行setup.py程序的zip包 - 但我的问题更关于如何将这些解压缩的文件放入我的虚拟环境中,以便将软件包安装到虚拟环境的site-packages文件夹中。

我也可以使用pip install <package name>在虚拟环境内安装,但由于某种原因,PIP下载的软件包已经过时了。

那么 - 有人能告诉我几个手动安装软件包的简单步骤吗?

到目前为止,我只有加载虚拟环境的基本命令:

-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程序包/程序解压缩到哪里是否很重要?还是我应该先登录到虚拟环境然后再解压缩?在加载虚拟环境并使用“workon test”命令时,我是否安装的任何Python软件包都会安装到正确的虚拟环境的site-packages文件夹中,而不管我找到它的目录在哪里?

选项1是将Python程序解压缩到/home/username/tmp中-然后登录到我的虚拟环境,导航到该文件夹并运行setup.py程序-假设虚拟环境将所有相关文件传输到其自己的site-packages文件夹。

或者第2个方案是直接将文件解压缩到site-packages中,并从那里运行它(在登录到虚拟环境之后),等等

谢谢您帮助一个对Python不熟练的人!

4个回答

139

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

/home/username/virtualpy/bin/python setup.py install
这将把它安装到您的虚拟环境站点包文件夹中。

2
所以,实际上导入操作是使用虚拟环境中安装的Python版本(2.6)运行Python...太好了!感谢Dwelch。 - Jamison
请确保您从临时文件夹运行它;setup.py 可能会期望它是当前文件夹。 - Seth
2
这似乎不再必要了。一旦虚拟环境被激活,我只需运行 python setup.py installpython setup.py develop,它就会安装在正确的位置。 - Oliver

16

切换到虚拟环境后,您应该输入

which python

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

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

但如果它给出的是全局级别的路径,而不是您的虚拟环境路径,那么您应该尝试使用

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

0

PACKAGE_DIR=/一些/包/目录/路径 export VENV=$(pipenv --venv) && export BASE_DIR=$(pwd) && cd $PACKAGE_DIR && $VENV/bin/python setup.py install && cd $BASE_DIR


0

如果一个软件包无法从存储库安装,请尝试使用sudo在虚拟环境下安装。以Python Pathos软件包作为示例;

/venv3.6/bin$ sudo pip3 install pathos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接