pip如何找到依赖关系?
问题描述:
我正试图在计算机上安装一些使用pip的软件包,但没有root权限。我遇到了依赖关系的一些问题。基本上,我安装一个软件包1:pip如何找到依赖关系?
cd path/to/package1
pip install . --install-option="--prefix=path/to/my/install/dir"
但是当我尝试安装包2:
cd path/to/package2
pip install . --install-option="--prefix=path/to/my/install/dir"
它无法找到包1.如何设置它寻找依赖的目录?
答
尝试使用virtualenv - 它使包管理正确。
这样一来,你首先创建的virtualenv:
$ virtualenv aaa
Using base prefix '/Users/el/.pyenv/versions/3.5.1'
New python executable in /Users/el/tmp/aaa/bin/python3.5
Also creating executable in /Users/el/tmp/aaa/bin/python
Installing setuptools, pip, wheel...done.
然后
$ source aaa/bin/activate
此设置环境变量和所有新安装pip
将这个文件夹中做。
当你完成它的工作,只是做:
$ deactivate
现在你的virtualenv退出通常的“系统”之一。
结果:
- 你的环境是从操作系统的一个
- 你不能打破系统库
- 您可能已经分离为不同的项目不同virtualenvs。并且它们可能具有不兼容的模块
-
您可以使用
pip freeze > requirements.txt
轻松修复模块版本。现在,这个文件中包含的所有模块与格式很简单固定版本:appdirs==1.4.0 packaging==16.8 pyparsing==2.1.10 six==1.10.0
-
您可以从头创建这种环境下,只用:
$ virtualenv folder $ source ./folder/bin/activate $ pip install -r requirements.txt
答
这并没有真正回答这个问题但不解决根本问题---安装使用
pip install . --user
在本地直接安装一切ory that pip know to look in。