pip 在自定义目录中安装依赖项

jan*_*ybs 5 python pip

我正在尝试使用 flag 将几个模块安装pip到自定义目录中--target

例如:

pip3 install --target /custom/module/location /path/to/package1

一切都很好。通过添加/custom/module/locationPYTHONPATH我可以使用我的package1.

但是当我尝试安装package2which require package1(位于/custom/module/location) pip 抛出:

Could not find a version that satisfies the requirement ...
No matching distribution found ...
Run Code Online (Sandbox Code Playgroud)

基本上:

Could not find a version that satisfies the requirement ...
No matching distribution found ...
Run Code Online (Sandbox Code Playgroud)

不起作用,但是

PYTHONPATH=/custom/module/location
pip3 install --target /custom/module/location /path/to/package1
pip3 install --target /custom/module/location /path/to/package2
Run Code Online (Sandbox Code Playgroud)

工作得很好。/custom/module/location除了 之外,还有什么方法可以告诉 pip 查看自定义位置吗PYTHONPATH

顺便说一句,当使用第一种方法时,pip3 list可以看到package1

jan*_*ybs 2

通过使用原始安装工具解决了这个问题。首先添加路径PYTHONPATH,然后安装本地包。

EXTRAPATH=/home/path/of/directory/lib/python3.5/site-packages
export PYTHONPATH=$PYTHONPATH:$EXTRAPATH
cd /path/to/package1 && python setup.py --prefix=/home/path/of/directory
cd /path/to/package2 && python setup.py --prefix=/home/path/of/directory
Run Code Online (Sandbox Code Playgroud)