Допустим, у вас есть 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, который неплохо справляется с созданием необходимой структуры локальных каталогов.
person
Mike Bjorge
schedule
17.08.2017
pip install -r requirements.txt
- person Mike Bjorge   schedule 18.08.2017