Якщо пакет знаходиться на PYPI, завантажте його та його залежності в якийсь локальний каталог. Напр
$ mkdir / pypi && cd / pypi
$ ls -la
-rw-r - r-- 1 павло співробітників 237954 19 квітня 11:31 Flask-WTF-0.6.tar.gz
-rw-r - r-- 1 персонал pavel 389741 22 лютого 17:10 Jinja2-2.6.tar.gz
-rw-r - r-- 1 персонал pavel 70305 11 квітня 00:28 MySQL-python-1.2.3.tar.gz
-rw-r - r-- 1 персонал pavel 2597214 10 квітня 18:26 SQLAlchemy-0.7.6.tar.gz
-rw-r - r-- 1 персонал pavel 1108056 22 лютого 17:10 Werkzeug-0.8.2.tar.gz
-rw-r - r-- 1 персонал pavel 488207 10 квітня 18:26 boto-2.3.0.tar.gz
-rw-r - r-- 1 штаб-квартира 490192 16 квітня 12:00 колба-0,9-dev-2a6c80a.tar.gz
Деякі пакети, можливо, доведеться архівувати вручну на схожих тарболах. Я роблю це багато, коли хочу отримати більш новітню (менш стабільну) версію чогось. Деякі пакети не містять PYPI, тому те саме стосується і них.
Припустимо, у вас правильно сформована програма Python в ~/src/myapp
. ~/src/myapp/setup.py
буде install_requires
список, в якому згадується одна або кілька речей, які ви маєте у своєму /pypi
каталозі. Так:
install_requires=[
'boto',
'Flask',
'Werkzeug',
# and so on
Якщо ви хочете мати змогу запускати свою програму з усіма необхідними залежностями, продовжуючи хакерство, ви зробите щось подібне:
$ cd ~ / src / myapp
$ python setup.py розробити - завжди-розпакувати --allow-hosts = Немає --find-links = / pypi
Таким чином ваш додаток буде виконуватися прямо з вашого вихідного каталогу. Ви можете зламати речі, а потім перезапустити додаток, не будуючи нічого.
Якщо ви хочете встановити додаток та його залежності в поточному середовищі python, ви зробите щось подібне:
$ cd ~ / src / myapp
$ easy_install --always-unzip --allow-hosts = Немає --find-links = / pypi.
В обох випадках збірка вийде з ладу, якщо в /pypi
каталозі немає однієї або декількох залежностей . Він не намагатиметься безладно встановити відсутні речі з Інтернету.
Я настійно рекомендую посилатися setup.py develop ...
і easy_install ...
в активному віртуальному середовищі, щоб уникнути зараження вашого глобального середовища Python. Це (virtualenv, який є) в значній мірі шлях. Ніколи нічого не встановлюйте в глобальне середовище Python.
Якщо машина, на якій ви створили свою програму, має таку ж архітектуру, що і машина, на якій ви хочете її розгорнути, ви можете просто за допомогою цілої картинки всьому каталогу віртуального середовища, в який ви easy_install
все ввели. Однак перед тим, як тарболінг, ви повинні зробити каталог віртуального середовища переміщеним (див. Параметр - переїзд ). ПРИМІТКА: на машині призначення повинна бути встановлена однакова версія Python, а також будь-які залежності на базі С, які може бути у вашому додатку, теж повинні бути попередньо встановлені (наприклад, якщо ви залежите від PIL , тоді libpng, libjpeg тощо повинні бути попередньо встановлені) .