Мне нужно настроить лабораторную среду, где у аудитории может не быть возможности подключения к Интернету на месте. Есть всего несколько пакетов, которые мне нужно объяснить аудитории.Установка Virtualenv без подключения к Интернету
Я пытаюсь использовать virtualenv, чтобы сделать все это. Таким образом, используя pip install, я успешно смогла установить virtualenv. После этого я активирую свой виртуальный env. И затем во время работы я снова использую pip install для установки других необходимых модулей, например запросов и т. Д.
Теперь, когда моя аудитория может не подключаться к Интернету во время обучения, я хочу иметь возможность распространять свой виртуальный виртуальный канал для них, так что у них есть полностью рабочая среда, и они могут просто начать с основного содержания тренинга.
Я не уверен, как распространять свой virtualenv другим. Из того, что я понимаю, что я могу сделать
пип замораживание> requirements.txt
, а затем
пип установить -r requirements.txt
Но последний выше, также необходимо будет сделать из виртуального рабочего на работу. Пожалуйста, поправьте меня, если я ошибаюсь.
Итак, я попробовал написать скрипт python, который бы автоматизировал все это и давал проблему с подключением к Интернету, в моем автоматическом сценарии я не могу использовать pip install для установки virtualenv. Следовательно, вместо этого я использую setup.py для установки virtualenv.
Ниже моя попытка сценария (который не работает)
import os
import shutil
import sys
from os.path import expanduser
from os.path import join
home = expanduser("~")
newpath = join(home,"newFolder")
print newpath
if not os.path.exists(newpath):
os.makedirs(newpath)
cwd = os.path.dirname(os.path.abspath(__file__))
print cwd
#virtenv = join(cwd,'virtualenv-13.1.2')
#print virtenv
setupFile = join(cwd,'setup.py')
string = sys.executable + " " + setupFile + " install"
print string
os.system(string)
# isntalling dependencies
string = "pip install -r requirements.txt"
os.system(string)
Идея - когда пользователь запускает выше скрипт (без интернета), должен быть virtualenv создан в новая папка под его домашним каталогом. А затем внутри этого виртуального env скрипт должен запустить pip install -r requirements.txt для установки всех необходимых модулей.
Пока что вышеприведенный скрипт не делает то, что необходимо. И я поставил вышеуказанный скрипт в том же каталоге, что и файлы настроек virtualenv.
Я даже думаю прямо? Как я могу это достичь?
да это правильно. Но есть ли другой способ сделать это, кроме вышеупомянутого ... несколько в направлении, которое я пытался продолжить? – qre0ct
Да, установите в вашем локальном репозитории все необходимые вам пакеты, включая virtualenv, и вывод из 'pip freeze> requirements.txt'.Затем создайте сценарий оболочки с параметром 'pip install --extra-index-url https: // YOUR_SERVER /' как для virtualenv, так и для требований к вашему проекту. Почти всегда проще запускать (относительно) простые команды, подобные этому в сценарии оболочки, чем чрезмерно сложный скрипт python, но вы также можете добавить флаг, указывающий расположение вашего простого репозитория на команды в вашем скрипте python. –
Другой вопрос: что случилось с моим подходом выше? Не удается установить setup.py вместо pip для установки virtualenv? – qre0ct