Как я могу программно установить модули Python/через Python script? - программирование
Подтвердить что ты не робот

Как я могу программно установить модули Python/через Python script?

Могу ли я загружать и устанавливать модули Python из PyPi строго внутри script без использования оболочки вообще?

Я использую нестандартную среду Python, интерпретатор Autodesk Maya Python. Это не связано с "easy_install", и нет "оболочки", только интерпретатор python script, вызываемый основным исполняемым файлом Maya. Копирование и вставка содержимого ez_setup.py в окно редактора script и его правильная установка устанавливают easy_install где-то в каталог Maya, но script неправильно записывает интерпретатор Python как "... maya.exe" вместо "...mayapy.exe" Кроме того, использование easy_install требует оболочки.

Цель состоит в том, чтобы предоставить Python script, который, например, устанавливает NumPy в систему Maya Python. Это может быть достигнуто путем отбрасывания яиц в каталог сайтов-пакетов, но для этого требуется ручное вмешательство пользователя. Все, что конечный пользователь должен делать за пределами среды Maya, по сути, неприкасаемый, особенно возиться с файловой системой. Но возиться с файловой системой через script? Это прекрасно.

Есть ли что-то более элегантное, чем ez_setup.py + редактирование полученных запросов easy_install... py + subprocess? Я чувствую, что это основная функция. Я вижу документацию онлайн для установки программного модуля через pip... но сначала нужно установить pip!

Каков самый элегантный способ установки модуля строго в пределах script?

4b9b3361

Ответ 1

Установка easy_install для Maya на windows.

  • Загрузите ez_setup.py.
  • открыть Windows cmd повышен (запустите, введите cmd, rmb щелкните по нему → запустите как администратор)
  • измените каталог cmd на x:\maya install dir\bin
    • Пример: cd c:\Program Files\MayaXX\bin
  • выполнить следующую команду mayapy x:\WhereYouSaved\ez_setup.py

Теперь легкая установка должна быть настроена правильно. Вы можете выполнить следующие шаги:

  1. cd x:\maya install dir\python\scripts
  2. переименуйте все файлы в этой папке, чтобы начать с ma
    • пример: для% я in (*) do ren% я ma% i
  3. добавьте эту папку в свой путь.
    • hit win + e
    • rmb мой компьютер и выберите свойства
    • Расширенные настройки системы → Переменные среды
    • путь к переменной поиска, отредактируйте его и добавьте; x:\maya install dir\python\scripts

Теперь вы можете вызвать maeasy_install pythonModule из cmd для установки файлов. Кроме того, вы можете вызывать следующее внутри Maya для установки модулей:

from setuptools.command import easy_install
easy_install.main( ["pythonModule"] )

ПРИМЕЧАНИЕ.. Если Maya установлен в программные файлы, вы не можете устанавливать вещи без повышения. Если вы не измените разрешения на доступ к директории python Maya.

Ответ 2

#!/usr/bin/env python

from __future__ import print_function

REQUIREMENTS = [ 'distribute', 'version', 'Cython', 'sortedcollection' ]
try:
    from setuptools import find_packages
    from distutils.core import setup
    from Cython.Distutils import build_ext as cython_build
    import sortedcollection
except:
    import os, pip
    pip_args = [ '-vvv' ]
    proxy = os.environ['http_proxy']
    if proxy:
        pip_args.append('--proxy')
        pip_args.append(proxy)
    pip_args.append('install')
    for req in REQUIREMENTS:
        pip_args.append( req )
    print('Installing requirements: ' + str(REQUIREMENTS))
    pip.main(initial_args = pip_args)

    # do it again
    from setuptools import find_packages
    from distutils.core import setup
    from Cython.Distutils import build_ext as cython_build
    import sortedcollection