Как сохранить параметры установки pip в файле требований, созданном с помощью pip freeze?

Я использую файл требований к pip для поддержки список зависимостей для моих проектов.

Теперь мне нужно установить библиотеку с помощью pip install --install-option = 'some-setup.py.option' , но pip freeze не записывает их параметры в его выводе, которые я сохраняю в своем проекте requirements.txt . Это вызывает проблемы, потому что простой pip install -r requirements.txt на новом компьютере устанавливает все зависимости без предоставления необходимых аргументов для этой единственной библиотеки, и я потерял простую операцию приема-передачи.

Итак, мой вопрос из двух частей:

  • Есть ли способ каким-то образом сохранить параметры установки pip в выводе pip freeze?
  • Если нет, есть ли способ вручную взломать файл требований, чтобы добавить установку вариант? Я нормально отношусь к тому, чтобы потерять природу pip freeze туда и обратно, если это необходимо, и переключиться на ручное обслуживание файла требований. Я проверил документацию , но не нашел ничего, что могло бы помочь.

Ненужные, но, возможно, интересные детали следуют далее

Я хочу установить pymongo , но без создания расширения C , поэтому я могу использовать его асинхронно в eventlet на основе приложения.

Установите по желанию и создайте файл requirements.txt:

(test)day@office:~/test$ pip install pymongo --install-option='--no_ext'
Downloading/unpacking pymongo
  Downloading pymongo-2.1.1.tar.gz (199Kb): 199Kb downloaded
  Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
  Running setup.py install for pymongo
Successfully installed pymongo
Cleaning up...
(test)day@office:~/test$ pip freeze >  requirements.txt
(test)day@office:~/test$ cat requirements.txt
bottle==0.10.7
distribute==0.6.10
eventlet==0.9.16
greenlet==0.3.3
lxml==2.3.3
pymongo==2.1.1
simplejson==2.3.2
wsgiref==0.1.2

В новом virtualenv попробуйте установить тот же проект из requirements.txt . pip создает расширение C для pymongo : (

(test2)day@office:~/test2$ pip install -r requirements.txt 
...
Downloading/unpacking pymongo==2.1.1 (from -r requirements.txt (line 6))
  Downloading pymongo-2.1.1.tar.gz (199Kb): 199Kb downloaded
  Running setup.py egg_info for package pymongo
Installing collected packages: pymongo
  Running setup.py install for pymongo
    building 'bson._cbson' extension
    gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Ibson -I/usr/include/python2.6 -c bson/_cbsonmodule.c -o build/temp.linux-i686-2.6/bson/_cbsonmodule.o
...
Successfully installed pymongo
Cleaning up...

Обновление Проблема 271 была открыта для pip в апреле 2011 года с просьбой о возможности указать для каждой строки - install-option ] в файле requirements.txt. Если у вас возникла та же проблема, проголосуйте за этот вопрос.

21
задан Day 7 February 2012 в 00:04
поделиться