我正在尝试使用 flag 将几个模块安装pip到自定义目录中--target。
例如:
pip3 install --target /custom/module/location /path/to/package1
一切都很好。通过添加/custom/module/location到PYTHONPATH我可以使用我的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
通过使用原始安装工具解决了这个问题。首先添加路径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)