Как вручную установить модуль pypi без pip/easy_install?
Я хочу использовать модуль gntp для отображения похожих на тостер уведомлений для программного обеспечения C/C++. Я хочу упаковать все зависимости для того, чтобы программное обеспечение могло быть выполнено на другом компьютере.
Модуль gntp доступен только через установщик pip, который не может быть использован (на компьютере, на котором запущено программное обеспечение, нет подключения к Интернету): как я могу установить его из исходников?
Я бы предпочел не заставлять пользователя устанавливать easy_install/pip и вручную добавлять путь к pip в% PATH.
PS: я использую Python 2.7 на машине с Windows.
3 ответа
- Скачать пакет
- распакуйте его, если он застегнут
- Перейдите в каталог, содержащий setup.py
- Если есть какие-либо инструкции по установке, содержащиеся в документации, содержащейся в данном документе, прочитайте и следуйте инструкциям ПРОЧИЕ
- введите
python setup.py install
Для шага 5 вам могут потребоваться права администратора. Таким образом, то, что вы здесь делаете, зависит от вашей операционной системы. Например, в Ubuntu вы бы сказали sudo python setup.py install
РЕДАКТИРОВАТЬ- благодаря Kwatford (см. Первый комментарий)
Чтобы обойти необходимость привилегий администратора на шаге 5, описанном выше, вы можете использовать флаг --user. Таким образом, вы можете установить пакет только для текущего пользователя.
Документы говорят:
Файлы будут установлены в подкаталоги сайта.USER_BASE (далее записано как пользовательская база). Эта схема устанавливает чистые модули Python и модули расширения в одном месте (также известном как site.USER_SITE). Вот значения для UNIX, включая Mac OS X:
Более подробную информацию можно найти здесь: http://docs.python.org/2.7/install/index.html
Чтобы дополнительно объяснить ответ Шины, мне нужно было установить установочные инструменты как зависимость от другого инструмента, например more-itertools.
Скачать
Нажмите кнопку " Клонировать" или "Загрузить" и выберите свой метод. Я поместил их в dev/py/libs
каталог в моем домашнем каталоге пользователя. Неважно, где они сохранены, потому что они не будут там установлены.
- setuptools: https://github.com/pypa/setuptools
- more-itertools: https://github.com/erikrose/more-itertools
Установка инструментов настройки
Вам нужно будет запустить следующее в каталоге setup-tools.
python bootstrap.py
python setup.py install
Установка общих зависимостей
Теперь вы можете перейти к директории more- itertools и установить ее как обычно.
- Скачать пакет
- Распакуйте его, если это архив
- Навигация (
cd ...
) в каталог, содержащийsetup.py
- Если есть какие-либо инструкции по установке, содержащиеся в документации, содержащейся в данном документе, прочитайте и следуйте инструкциям ПРОЧИЕ
- Введите:
python setup.py install
Хотя ответ Шины делает свою работу, pip
не останавливается только там.
Из ответа Шины:
- Скачать пакет
- распакуйте его, если он застегнут
- Перейдите в каталог, содержащий setup.py
- Если есть какие-либо инструкции по установке, содержащиеся в документации, содержащейся в данном документе, прочитайте и следуйте инструкциям ПРОЧИЕ
- введите
python setup.py install
В конце этого вы получите .egg
файл в site-packages
, Как пользователь, это не должно вас беспокоить. Вы можете import
а также uninstall
пакет нормально. Однако, если вы хотите сделать это pip
Кстати, вы можете продолжить следующие шаги.
в site-packages
каталог,
unzip <.egg file>
- переименовать
EGG-INFO
каталог как<pkg>-<version>.dist-info
- Теперь вы увидите отдельный каталог с именем пакета,
<pkg-directory>
find <pkg-directory> > <pkg>-<version>.dist-info/RECORD
find <pkg>-<version>.dist-info >> <pkg>-<version>.dist-info/RECORD
,>>
это предотвратить перезапись.
Теперь, глядя на site-packages
каталог, вы никогда не поймете, что вы установили без pip
, к uninstall
Делай как обычно pip uninstall <pkg>
,