Nano Hash - криптовалюты, майнинг, программирование

python: как создать virtualenv без подключения к интернету

У меня возникли проблемы с созданием virtualenv на сервере, который блокирует весь доступ в Интернет. Кто-нибудь успешно делал это раньше? Я искал, но ничего полезного не нашел. У меня нет проблем с передачей данных туда и обратно, но я не знаю, какие пакеты нужно скачать и какие параметры мне нужны для установки.

Если вам интересно, что я получил, пытаясь создать его, вот обратная трассировка:

netops@netops1 /spare/local/latency $virtualenv -p /usr/bin/python2.6 latency
Running virtualenv with interpreter /usr/bin/python2.6
New python executable in latency/bin/python2.6
Also creating executable in latency/bin/python
Installing setuptools.....................
  Complete output from command /spare/local/latency/latency/bin/python2.6 -c "#!python
\"\"\"Bootstra...sys.argv[1:])






" --always-copy -U setuptools:
  Downloading http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
Traceback (most recent call last):
  File "<string>", line 279, in <module>
  File "<string>", line 211, in main
  File "<string>", line 159, in download_setuptools
  File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib64/python2.6/urllib2.py", line 391, in open
    response = self._open(req, data)
  File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 1181, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib64/python2.6/urllib2.py", line 1156, in do_open
    raise URLError(err)
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>

Спасибо за любую помощь.

21.01.2016

  • Какую версию virtualenv вы используете? 21.01.2016
  • Версия каменного века, 1.7.2. 21.01.2016

Ответы:


1

Если вы обновите virtualenv до версии >= 1.10, он никогда не будет подключаться к Интернету независимо от любого флага (см. раздел «Изменения и новости» здесь)


Интернет-соединение используется для установки пакетов setuptools и pip в виртуальной среде. Старые версии virtualenv попытаются загрузить эти два пакета, в то время как более новые версии поставляются с ними и просто распаковывают их при необходимости.

Поскольку ваша версия virtualenv (1.7.2) ниже 1.10, вы можете использовать флаг --never-download, чтобы избежать подключения к Интернету. Позже вы можете установить (в автономном режиме) то, что вам нужно.

Здесь (раздел "Опция --extra-search-dir") это объяснил, как загрузить setuptools и pip без подключения к Интернету. В основном вам нужно получить файлы .egg для этих пакетов и поместить их куда-нибудь локально, а затем вам нужно сделать:

$ virtualenv --extra-search-dir=/path/to/eggs --never-download ENV
21.01.2016
  • Это некоторый прогресс, по крайней мере, он что-то создал. Но как я могу установить pip локально? 21.01.2016
  • См. раздел pypi.python.org/pypi/virtualenv/1.7.2. --extra-search-dir Опция... Я также обновил ответ 21.01.2016
  • Звучит многообещающе. Есть ли простой способ получить все файлы .egg? 21.01.2016
  • Для инструментов настройки вы можете использовать URL-адрес, который вы разместили в журнале ошибок (pypi.python.org/packages/2.6/s/setuptools/) 21.01.2016
  • У меня это уже было. Я имел в виду другие пакеты Python, которые я также пытался установить. 21.01.2016
  • Когда у вас есть setuptools, вам больше не нужны яйца. Можно просто скачать архивы, распаковать, зайти в него, а потом запустить python setup.py install :) 21.01.2016

  • 2
    mkdir .mypypi  
    pip install --download $HOME/.mypypi ipython ipdb django  
    

    Теперь перенесите содержимое с .mypypi на свой сервер. Допустим, вы скопировали его на свой $HOME. Затем сделайте следующее:

    pip install --no-index --find-links=file:/$HOME/.mypypi ipython
    

    Это должно работать и для файла requirements.txt.

    21.01.2016
  • Я не думаю, что это поможет. Я даже не смог дойти до этого шага. Я даже не смог создать виртуальную среду с исполняемыми файлами activate и python. 21.01.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..