2012-03-21 1 views
10

Мы используем файл requirements.txt для хранения всех необходимых внешних модулей. Каждый модуль, кроме одного, собирается из Интернета. Другой хранится в папке, в которой находится файл requirements.txt.используйте относительный путь в файле требований.txt для установки файла tar.gz с помощью пипа

Кстати, этот модуль может быть легко установлен с пип установить

Я попытался с помощью этого:

file:folder/module 

или это:

file:./folder/module 

или даже это:

folder/module 

, но всегда выбрасывает я ошибся. Кто-нибудь знает, что это правильный способ сделать это?

Благодаря

ответ

16

В текущей версии пип (1.2.1) как относительные пути в файле требований интерпретируются неоднозначно и частично сломаны. Существует открытый вопрос о хранилище пипа, который объясняет различные проблемы и неясность более подробно:

https://github.com/pypa/pip/issues/328

Короче текущая реализация не соответствует описанию в документации пипсов, так как я пишу нет последовательного и надежного способа использования относительных путей в requirements.txt.

Тем не менее, размещая следующее в моем requirements.txt:

./foo/bar/mymodule 

работает, когда есть setup.py на верхнем уровне каталога mymodule. Обратите внимание на отсутствие обозначения протокола file:: и включение ведущего ./. Этот путь не относится к файлу requirements.txt, а относится к текущему рабочему каталогу. Поэтому необходимо перейти в ту же директорию, как requirements.txt, а затем выполнить команду:.

pip install -r requirements.txt 
+3

даже если '/', кажется, работает таким образом, '' ../ не делает, даже не по отношению к УХО, и я попробовал, не делает. ./../ ' – dashesy