Как я могу создать файл require.txt для пакета, недоступного на моей платформе разработки? - PullRequest
3 голосов
/ 30 мая 2019

Я пытаюсь сгенерировать файлы requirements/dev.txt и prod.txt для моего проекта на python. Я использую pip-compile-multi для генерации их из файлов base.in dev.in и prod.in. Все прекрасно работает, пока я не добавлю tensorflow-gpu==2.0.0a0 в файл prod.in. Я получаю эту ошибку, когда я делаю: RuntimeError: Failed to pip-compile requirements/prod.in.

Я полагаю, что это связано с тем, что тензор-gpu доступен только в Linux, а моей машиной разработки является Mac. (Если я запускаю pip install tensorflow-gpu==2.0.0a0, мне сообщают, что для моей платформы нет дистрибутива.) Можно ли как-то сгенерировать файл require.txt для pip для пакета, который недоступен на моей платформе? Чтобы быть ясным, моя цель состоит в том, чтобы сгенерировать файл requirements.txt, используя что-то вроде pip-compile-multi (потому что это будет зависеть от версии), который будет установлен только на Linux, но я хочу иметь возможность на самом деле генерировать файл на любой платформе.

Ответы [ 3 ]

1 голос
/ 30 мая 2019

Использовать маркеры среды от PEP 496 :

tensorflow-gpu==2.0.0a0; sys_platform!='darwin'
0 голосов
/ 30 мая 2019

В настоящее время pip-tools не поддерживают это, есть открытая проблема на github . обходной путь , предложенный автором pip-compile-multi, заключается в том, чтобы сгенерировать linux.txt на компьютере с Linux, а затем статически связать его с не сгенерированным linux-prod.txt, таким как

* 1008.*
0 голосов
/ 30 мая 2019

Я думаю, что вы ищете tensorflow-gpu==2.0.0a0 (удалите - перед a).Я думаю, что это версия, которую вы ищете: https://pypi.org/project/tensorflow-gpu/2.0.0a0/ См. Команду pip install на странице.Надеюсь это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...