Я не заинтересован в установке самого моего пакета, но я заинтересован в установке всех зависимостей, используемых моим пакетом. Есть ли способ сделать это с помощью setup.py
? Кажется, setup.py
устанавливает мой пакет и все зависимости.
Как использовать setup.py только для установки зависимостей?
Ответы (2)
Используйте флаг -e при установке pip
pip install -e .
person
Nicolas Appriou
schedule
16.07.2017
Меня это смущает -
-e
предназначен для редактируемого режима, который будет делать такие вещи, как символическая ссылка на рабочие каталоги зависимостей. В этом случае OP хочет установить все по-настоящему, а не один разрабатываемый пакет. Хорошо ли это подходит для варианта использования?
- person Ken Williams; 04.09.2020
Редактируемый режим @KenWilliams установит все по-настоящему, кроме того самого пакета, над которым вы работаете (это будет символическая ссылка, как вы упомянули). Однако вы можете не захотеть, чтобы эта ссылка оставалась - это то, что ваш трюк с последующими
pip uninstall
обрабатывает.
- person karlicoss; 13.09.2020
Единственный способ, которым я нашел, чтобы надежно сделать это простым способом, заключается в следующем:
pip install . && pip uninstall `python setup.py --name`
person
Ken Williams
schedule
04.09.2020
Спасибо, отличный ответ. Одно небольшое предложение:
pip uninstall --yes
, поэтому оно не запрашивает вас (например, в Dockerfile)
- person karlicoss; 13.09.2020
Это отличный ответ! Один небольшой комментарий заключается в том, что он не работает для python3, однако его легко адаптировать.
- person Qi Luo; 08.01.2021
@QiLuo Я использую это с Python 3, с какой проблемой вы столкнулись?
- person Ken Williams; 08.01.2021
В среде с python2 и python3 я мог бы использовать
pip3 install . && pip3 uninstall `python3 setup.py --name`
- person Qi Luo; 09.01.2021
@QiLuo Да, это только потому, что pip и python, по-видимому, называются
pip3
и python3
в вашей среде. У меня они называются просто pip
и python
.
- person Ken Williams; 09.01.2021
abc
, который зависит отxyz
, вы хотите установитьxyz
, но неabc
, я прав? - person Nilesh   schedule 12.06.2015pip install -r requirements.txt
просто. - person   schedule 12.06.2015