88

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

我也可以使用 .从我的 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!

4

4 回答 4

133

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

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

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

于 2011-05-12T14:42:38.837 回答
16

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

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
于 2016-05-05T14:36:24.877 回答
0

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

/venv3.6/bin$ sudo pip3 install pathos
于 2019-02-05T07:22:04.767 回答
0

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

于 2019-12-01T17:17:00.260 回答