假设您有 2 个要从本地安装的软件包:abc-xyz 和 foo,并且您有相应的软件包文件 abc-xzy-1.2.3.tar.gz 和 foo-1.0.0.tar.gz。
我们会将您的本地 pypi 目录放在/my_local_pypi/simple
您的目录结构将如下所示:
/my_local_pypi/simple
index.html
- abc-xyz/
index.html
abc-xyz-1.2.3.tar.gz
- foo/
index.html
foo-1.0.0.tar.gz
每个包的根index.html 需要<a href></a> 锚条目,因此应如下所示:
$ cat /my_local_pypi/simple/index.html
<!DOCTYPE html><html><body>
<a href="abc-xyz">abc-xyz></a></br>
<a href="foo">foo</a></br>
</body></html>
然后每个$package/index.html 需要一个指向实际包文件的<a href></a> 锚点,所以它们应该如下所示:
$ cat /my_local_pypi/simple/abc-xyz/index.html
<!DOCTYPE html><html><body>
<a href="abc-xyz-1.2.3.tar.gz">abc-xyz-1.2.3.tar.gz</a></br>
</body></html>
$ cat /my_local_pypi/simple/foo/index.html
<!DOCTYPE html><html><body>
<a href="foo-1.0.0.tar.gz">foo-1.0.0.tar.gz</a></br>
</body></html>
然后在你的requirements.txt,你可以这样做:
$ cat requirements.txt
--extra-index-url file:///my_local_pypi/simple/
abc-xyz==1.2.3
foo==1.0.0
然后你应该很高兴:pip install -r requirements.txt
另请参阅piprepo 项目,该项目在生成所需的本地目录结构方面做得非常好。