我有一个我要安装到我的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!
答案 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