Редактировать: Это не дубликат автономной установки пакета Python , так как для ответа требуется «pip».Моя предпосылка - когда pip недоступен.
Мой скрипт на python зависит от этой библиотеки Github .Мне нужно создать самодостаточный архив, включающий эту зависимость, и я могу извлечь и запустить его на своем производственном сервере, у которого нет доступа к Интернету или пункту .Однако у меня есть Python 2.6.6 / Python 2.7
Я создал virtualenv на моей локальной машине (у которой есть Интернет) и установил вышеупомянутую зависимость с помощью pip.pip загрузил зависимые библиотеки.Я получил файл require.txt с
pip freeze > requirements.txt
Теперь я скачал эти требования, используя
pip download -r requirements.txt
Загруженное содержимое
decorator-4.4.0-py2.py3-none-any.whl
jsonpath-rw-1.4.0.tar.gz
jsonpath_rw_ext-1.2.0-py2.py3-none-any.whl
pbr-5.2.0-py2.py3-none-any.whl
ply-3.11-py2.py3-none-any.whl
six-1.12.0-py2.py3-none-any.whl
Я также создал файл setup.pyпри install_requires
, имеющем все содержимое файла require.txt (из этой автономной установки пакета Python )
import setuptools
setuptools.setup(
name="Resizing Automation Validation Script",
packages=setuptools.find_packages(),
install_requires=['ply','pbr','six','decorator','jsonpath-rw','jsonpath-rw-ext'],
classifiers=[
"Programming Language :: Python :: 2.6.6",
"Operating System :: OS Independent",
],
)
я попытался выполнить следующую команду для установки этих сценариев (pip недоступно)
python setup.py develop --always-unzip --allow-hosts=None --find-links=/path/to/download/dir
Примечание. Приведенная выше команда работает на только что созданном virtualenv в локальной сети.
Но на сервере (без Интернета) происходит сбой с ошибкой
running develop
running egg_info
creating Resizing_Automation_Validation_Script.egg-info
writing requirements to Resizing_Automation_Validation_Script.egg-info/requires.txt
writing Resizing_Automation_Validation_Script.egg-info/PKG-INFO
writing top-level names to Resizing_Automation_Validation_Script.egg-info/top_level.txt
writing dependency_links to Resizing_Automation_Validation_Script.egg-info/dependency_links.txt
writing manifest file 'Resizing_Automation_Validation_Script.egg-info/SOURCES.txt'
reading manifest file 'Resizing_Automation_Validation_Script.egg-info/SOURCES.txt'
writing manifest file 'Resizing_Automation_Validation_Script.egg-info/SOURCES.txt'
running build_ext
Creating /deployeruser/.local/lib/python2.7/site-packages/Resizing-Automation-Validation-Script.egg-link (link to .)
Adding Resizing-Automation-Validation-Script 1.0.0 to easy-install.pth file
Installed /deployeruser/tmp
Processing dependencies for Resizing-Automation-Validation-Script==1.0.0
Searching for jsonpath-rw-ext
Link to https://pypi.python.org/simple/jsonpath-rw-ext/ ***BLOCKED*** by --allow-hosts
Couldn't find index page for 'jsonpath-rw-ext' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Link to https://pypi.python.org/simple/ ***BLOCKED*** by --allow-hosts
No local packages or download links found for jsonpath-rw-ext
с пипом работает нормально
pip install --no-index --find-links /path/to/download/dir/ -r requirements.txt
Впрочем, как мне заставить его работать без пипа