LoginSignup
7
12

More than 5 years have passed since last update.

Mayaでのパッケージ管理 - mayapyにpipを入れてみるよ

Posted at

これはなに?

mayapyにてpipをインストールしてみます。
こちらの記事の続きです。「mayapy…?」という方は先にお読みいただけるとよいかと思います。

mayapy - Maya内Python
http://qiita.com/it_ks/items/5045c99461cb6edef761

前提

パッケージ管理

Pythonパッケージを管理するには、いくつかの方法(ツール)が用意されているようです。
今回は、こちらの内容を参考に

Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc)
http://www.yunabe.jp/docs/python_package_management.html

2014/12時点で最もモダンとされるpipを選択します。

pip

のインストールについての公式ドキュメント

https://pip.pypa.io/en/stable/installing/

日本語で解説いただいてる記事

pipの使い方 (2014/1バージョン) @ そこはかとなく書くよん。
http://tdoc.info/blog/2014/01/15/pip.html

なお、
Python2.7.9以降には同梱されているそうです。
なので、そのうちMaya組み込みPythonもバージョンが上がって、
なにもしなくてもpipが使えるようになることでしょう。

Maya2016現在、mayapyはPython 2.7.6です。

インストール

get-pip.py

公式ドキュメントからget-pip.pyをダウンロードしてきて、
これをPythonで叩けば作業完了です。
20160103現在、ダウンロードはこちらから > https://bootstrap.pypa.io/get-pip.py
もしくはこちらでも > https://raw.github.com/pypa/pip/master/contrib/get-pip.py

ここではいわゆるPythonの替わりに、その役割をmayapyが担います。つまり

python get-pip.py

mayapy get-pip.py

です。

実行

  1. cmdを右クリックして「管理者として実行」で立ち上げます。
  2. cdでmayapyのいる場所まで移動します > cd "C:\Program Files\Autodesk\Maya2016\bin"
  3. mayapy "path\to\get-pip.py"

ログ

$ mayapy "path\to\get-pip.py"
Collecting pip
  Using cached pip-7.1.2-py2.py3-none-any.whl
Collecting setuptools
  Using cached setuptools-19.2-py2.py3-none-any.whl
Collecting wheel
  Using cached wheel-0.26.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-7.1.2 setuptools-19.2 wheel-0.26.0

Successfully installed pip-7.1.2 setuptools-19.2 wheel-0.26.0
ってことで、

  • pip-7.1.2
  • setuptools-19.2
  • wheel-0.26

がインストールされました。

※ちなみに管理者権限で実行しなかった場合(▼)

> mayapy "path\to\get-pip.py"
Collecting pip
  Using cached pip-7.1.2-py2.py3-none-any.whl
Collecting setuptools
  Downloading setuptools-19.2-py2.py3-none-any.whl (463kB)
    100% |################################| 466kB 568kB/s
Collecting wheel
  Using cached wheel-0.26.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
Exception:
Traceback (most recent call last):
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\basecommand.py", line 211, in main
    status = self.run(options, args)
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\commands\install.py", line 311, in run
    root=options.root_path,
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\req\req_set.py", line 646, in install
    **kwargs
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\req\req_install.py", line 803, in install
    self.move_wheel_files(self.source_dir, root=root)
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\req\req_install.py", line 998, in move_wheel_files
    isolated=self.isolated,
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\wheel.py", line 339, in move_wheel_files
    clobber(source, lib_dir, True)
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\wheel.py", line 310, in clobber
    ensure_dir(destdir)
  File "c:\users\{user}\appdata\local\temp\tmpj8cvx2\pip.zip\pip\utils\__init__.py", line 71, in ensure_dir
    os.makedirs(path)
  File "C:\Program Files\Autodesk\Maya2016\bin\python27.zip\os.py", line 157, in makedirs
    mkdir(name, mode)
WindowsError: [Error 5] アクセスが拒否されました: 'C:\\Program Files\\Autodesk\\Maya2016\\Python\\Lib\\site-
packages\\pip'

…アクセス拒否されて、インストールが完遂できません。

結果

Mayaインストールフォルダ以下に「Python」というフォルダがありますが、
そこに下記のような感じであれこれ置かれます。

※ここのことです

mayapyのPYTHONHOME
>>> import os
>>> os.environ['PYTHONHOME']
'C:\\Program Files\\Autodesk\\Maya2016\\Python'

Scriptsフォルダ

直下に「Scripts」フォルダが作成されます。
「easy_install.exe」「pip.exe」「wheel.exe」等関連exeが置かれます。

Lib > site-packages

いろいろ追加されます。
pip.png
実行前・実行後の差分。右カラムがafter。水色が新規項目。

import pip

mayapyにてimport pipできるようになります。
mayapy_pip.png
「あ、動いてるんだな」的な確認です。

まとめ

管理者権限で
mayapy get-pip.py
以上。

今回は「入れてみる」なので、ここから先の内容はまたの機会にでも(?)

これで環境汚し放題ですね。カオスの形成は自己責任で! ←

7
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
12