возьмите это как пример: https://github.com/bitprophet/fabric/blob/master/setup.py#L41
поэтому Fabric требует pycrypto> = 1.9 и paramiko> = 1.7.6
что, если pycrypto обновит версию до 2.1 и изменит их api, это повлияет на мой пакет. это не результат, который я хочу.
так это их соглашение, что пакет не может изменить api, или можно ли упаковать пакет, который мне нужен, в мой собственный пакет?
как насчет этого?
выдержка
Итак, какие файлы требований? Они очень просты: списки пакетов для установки. Вместо того, чтобы запускать что-то вроде pip MyApp и получать все библиотеки, вы можете создать файл требований, например:
MyApp
Framework==0.9.4
Library>=0.2
Затем, независимо от того, какие списки MyApp указаны в файле setup.py, вы получите конкретную версию Framework (0.9.4) и, по крайней мере, версию библиотеки 0.2. (Возможно, вы могли бы перечислить эти конкретные версии в MyApps setup.py - но если вы это сделаете, вам придется отредактировать MyApp, если вы хотите попробовать новую версию Framework или выпустить новую версию MyApp, если вы определите, что Library 0.3 не работает с вашим приложением.) Вы также можете добавить дополнительные библиотеки и инструменты поддержки, которые MyApp не требует строгого требования, предоставляя людям набор рекомендуемых библиотек.