it-swarm.com.ru

Как вручную установить модуль pypi без pip/easy_install?

Я хочу использовать модуль gntp для отображения похожих на тостер уведомлений для программного обеспечения C/C++. Я хочу упаковать все зависимости для того, чтобы программное обеспечение могло быть выполнено на другом компьютере.

Модуль gntp доступен только через установщик pip, который не может быть использован (на компьютере, на котором запущено программное обеспечение, нет подключения к Интернету): как я могу установить его из исходников?

Я бы предпочел не заставлять пользователя устанавливать easy_install/pip и вручную добавлять путь к pip в% PATH.

PS: я использую Python 2.7 на машине с Windows.

55
lucasg
  1. Скачать пакет
  2. распакуйте его, если он застегнут
  3. перейдите в каталог, содержащий setup.py
  4. Если в документации, содержащейся здесь, содержатся какие-либо инструкции по установке, прочитайте и следуйте инструкциям ПРОЧИЕ
  5. введите python setup.py install

Для шага 5 вам могут потребоваться права администратора. Таким образом, то, что вы здесь делаете, зависит от вашей операционной системы. Например, в Ubuntu вы сказали бы Sudo python setup.py install 

EDIT - благодаря kwatford (см. первый комментарий)

Чтобы обойти необходимость в правах администратора на шаге 5, описанном выше, вы можете использовать флаг --user. Таким образом, вы можете установить пакет только для текущего пользователя.

Документы говорят:

Файлы будут установлены в подкаталоги сайта. USER_BASE (здесь и далее написано, как пользовательская база). Эта схема устанавливает чистые модули Python и модули расширения в одном месте (также известном как site.USER_SITE). Вот значения для UNIX, включая Mac OS X:

Более подробную информацию можно найти здесь: http://docs.python.org/2.7/install/index.html

91
Sheena

Для дальнейшего объяснения ответ Шины , мне нужно было setup-tools устанавливается как зависимость другого инструмента, например больше-itertools .

Скачать

Нажмите на Clone or download кнопку и выберите свой метод. Я поместил их в каталог dev/py/libs в моем домашнем каталоге пользователя. Неважно, где они сохранены, потому что они не будут там установлены.

Установка инструментов настройки

Вам нужно будет запустить следующее в каталоге setup-tools .

python bootstrap.py
python setup.py install

Установка общих зависимостей

Теперь вы можете перейти к директории more-itertools и установить ее как обычно.

  1. Скачать пакет
  2. Распакуйте его, если это архив
  3. Перейдите (cd ...) в каталог, содержащий setup.py
  4. Если есть какие-либо инструкции по установке, содержащиеся в документации, содержащейся в данном документе, прочитайте и следуйте инструкциям ПРОЧИЕ
  5. Введите: python setup.py install
2
Mr. Polywhirl

Хотя ответ Шины делает свою работу, pip не останавливается только на этом. 

Из ответа Шины:

  1. Скачать пакет
  2. распакуйте его, если он застегнут
  3. перейдите в каталог, содержащий setup.py
  4. Если в документации, содержащейся в данном документе, есть какие-либо инструкции по установке, прочитайте и следуйте инструкциям ИНАЧЕ
  5. введите python setup.py install

В конце вы получите .Egg файл в site-packages. Как пользователь, это не должно вас беспокоить. Вы можете import и uninstall пакет как обычно. Однако, если вы хотите сделать это способом pip, вы можете продолжить следующие шаги.

В каталоге site-packages

  1. unzip <.Egg file>
  2. переименуйте каталог Egg-INFO в <pkg>-<version>.dist-info
  3. Теперь вы увидите отдельный каталог с именем пакета <pkg-directory>
  4. find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
  5. find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD. >> предназначен для предотвращения перезаписи.

Теперь, глядя на каталог site-packages, вы никогда не поймете, что установили без pip. Чтобы uninstall, просто сделайте обычный pip uninstall <pkg>

0
John Strood