我试图在没有root访问权限的计算机上安装一些带有pip的软件包。我遇到了依赖项的一些问题。基本上,我安装了一个包1:
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.如何设置查找依赖项的目录?
答案 0 :(得分:2)
尝试使用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退出到通常的“系统”之一。
结果:
您可以使用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
答案 1 :(得分:0)
这并没有真正回答这个问题,但确实解决了根本问题---使用
安装pip install . --user
将所有内容安装在pip知道要查看的本地目录中。