web-dev-qa-db-ja.com

Pythonモジュールをプログラムで/ Pythonスクリプトを介してインストールするにはどうすればよいですか?

シェルを使用せずに、厳密にスクリプト内でPyPiからPythonモジュールをダウンロードしてインストールできますかまったく

非標準のPython環境、AutodeskMayaのPythonインタプリタ。これには「easy_install」は付属しておらず、「シェル」のみがあります。 a pythonメインのMaya実行可能ファイルによって呼び出されるスクリプトインタプリタ。ez_setup.pyの内容をコピーしてスクリプトエディタウィンドウに貼り付けて実行すると、easy_installがMayaのディレクトリのどこかに正しくインストールされますが、スクリプトは誤ってPythonインタプリタを "... mayapy.exe"ではなく "... maya.exe"としてさらに、easy_installを使用するにはシェルが必要です。

目的は、Pythonスクリプトを提供することです。このスクリプトは、たとえば、NumPyをMaya Pythonシステムにインストールします。これは、サイトパッケージに卵をドロップすることで実現できます。ディレクトリですが、手動でユーザーが介入する必要があります。エンドユーザーがMaya環境の外部で行う必要があることは、特にファイルシステムをいじることは、本質的には触れられません。しかし、スクリプトを介してファイルシステムをいじることは問題ありません。

Ez_setup.py +結果のeasy_install ... pyの+サブプロセス呼び出しを編集するよりもエレガントなものはありますか?これが基本的な機能だと思います。 pipを介したプログラムモジュールのインストールに関するドキュメントをオンラインで表示します...しかし、pipを最初にインストールする必要があります!

スクリプトの範囲内に厳密にモジュールをインストールするための最もエレガントな方法は何ですか?

22
DoctorPangloss

WindowsへのMayaのeasy_installのインストール。

  1. ダウンロード ez_setup.py
  2. windows cmd昇格を開きます(開始、タイプcmdrmbクリック->管理者として実行)
  3. cmdディレクトリをx:\ maya install dir\bin に変更します。
    • 例:cd c:\ Program Files\MayaXX\bin
  4. 次のコマンドを実行しますmayapyx:\ WhereYouSaved\ez_setup.py

これで、簡単なインストールが適切に設定されます。それでも次の手順を実行することをお勧めします。

  1. cd x:\ maya install dir\python\scripts
  2. このフォルダ内のすべてのファイルの名前をma で始まるように変更します
    • 例:(*)の%iの場合はren%i ma%iを実行します
  3. このフォルダをパスに追加します
    • win + eを押す
    • rmb私のコンピューターとプロパティを選択します
    • 詳細なシステム設定->環境変数
    • 変数パスを検索して編集し、; x:\ maya install dir\python\scriptsを追加します

これで、cmdからmaeasy_install pythonModuleを呼び出してインストールすることができます。また、Maya内で以下を呼び出してモジュールをインストールすることもできます。

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

注:Mayaがプログラムファイルにインストールされている場合、昇格せずに実際にインストールすることはできません。 Maya pythonディレクトリへのディスク権限を変更しない限り。

17
joojaa
#!/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
10
Richard Gomes

これを機能させるには、ez_setup.pyファイルを開き、次の行のsの後にhttpを追加します。

DEFAULT_URL     = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]

それがなるように

DEFAULT_URL     = "https://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
0
john