Я работаю над проектом и клонировал репозиторий из github.
После первой компиляции я понял, что проект, который я клонировал, имеет некоторые зависимости, и они были в requirements.txt
файле.
Я знаю, что мне нужно установить эти пакеты, но я не хочу, чтобы я нахожусь в среде разработки Windows, и после завершения моего проекта я собираюсь опубликовать его в своей производственной среде ubuntu, и я не хочу беспокоиться о двойной установке.
У меня есть два варианта:
Использование
virtualenv
и установка этих пакетов внутри негоСкачивание пакетов и использование их
direct
способом, используяimport foldername
Я хочу избежать первого варианта, потому что у меня меньше контроля над моим проектом, и проблема становится все больше и больше, если, например, я был внутри virtualenv другого проекта и хотел запустить файл main.py
моего проекта из его собственного virtualenv и т. Д. virtualenv от windows (файлы bat) до linux (файлы bash / sh) кажется мне некрасивым и направляет меня к подходам, которых я предпочитаю избегать.
Второй вариант - мой выбор. например, мне нужно использовать пакет future
. Сценарий заключается в загрузке пакета с использованием pip download future
, а после извлечения файла tar.gz
внутри папки src
я вижу папку пакета future
, и я использую ее с import future_package.src.future
, даже не касаясь чего-либо еще.
Помимо os.path
проблем (предполагающих, что я позабочусь о них):
Это хорошая практика?
Я не использую setup.py
, препятствующий установке. Может ли это вызвать проблемы?
Есть ли лучший подход, требующий меньшего количества работы (например, второй), или лучший из упомянутых мной первого подхода?
ОБНОВЛЕНИЕ 1: я извлек пакеты future
и certifi
, которые были частью requirements
моего проекта, и использовал их способом direct
, и в данном конкретном случае он работает.
extract
,move
и позвонитьimport
, зачем мне использовать virtualenv для простого проекта (и, возможно, выполнимого для более сложных)? - person AmirHossein   schedule 26.07.2017site-packages
внутри виртуального виртуального сервера в каталог, в который я хочу их импортировать? Имеет ли использование virtualenv преимущества, чем это? - person AmirHossein   schedule 26.07.2017