1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

pipを使えないライブラリ(FBXSDK)をインストールするのに成功したけど手間取った話(Win/Mac)

Last updated at Posted at 2019-08-29

 AutoDeskが定める3Dデータ標準形式であるfbxは、アバター等の3D形式を扱う際においてデファクトスタンダードとなっていますが、これを扱うためのSDKがAutoDeskにより公開されています。本来はC++のためのものらしいですが、Python用で同じ操作をするための(バインディングというらしいです)ライブラリもあり、そちらの方が簡単そうなので導入してみることにしてみます。

 ただしこのSDK、

  • Python3.3系または2.7系しか対応していない
  • pipでインストールすることが出来ない

 という代物でして、最新のPythonをインストールしてpipで一発だぜイェーイという感じではなかったので、Win/Mac両環境において備忘録代わりに手順を示しておきたいと思います。

Windowsの場合

 基本的な手順はこの方の記事にあるのですが、一点躓いたポイントがあるのでそこを中心に解説。

 まずは https://www.python.org/downloads/ からPythonをインストールする必要がありますが、最新のものだとライブラリが使えないので、旧式のものをインストールする必要があります。また上に挙げた2バージョンのうち、なぜか3.3系はインストーラが公開されていないという謎の状態なので、実質的には2.7系しか選択肢がないということになります。

image.png

 上の画像は現時点での2.7系での最新(ややこしいな)である2.7.16のインストーラの配布ページになります。予めネタバレをすると、ここで「64bitOSだから当然x64でしょ!」とWindows x86-64 MSI installerをDLすると後で詰みます。理由はよくわかりません。ぱっと見AMDとIntelの違いかな……と思いましたが、他のライブラリは余裕で動いているので違いそうです。詳しい人教えてください。

image.png

 「Windows x86-64 MSI installer」の方(x64って書いてるのに……)ではなく「Windows x86 MSI installer」の方をDLしてください。

 さて、インストーラを回すと、C:\Python27というフォルダが出来ているはずなので、その下にあるC:\Python27\Lib\site-packagesにライブラリファイルを入れていきます。FBXSDKのインストーラを回すと以下のようなフォルダが出来るはずなので、

image.png

 「Python27_x86」(2.7系の32bit)(わかりづらいですがx86は32bitを表します)を選択して、

image.png

 中のファイルを……

image.png

 こんな感じにPythonの方のファイルに入れます。

 PATH(追加ライブラリを参照するパス)についてはPythonをインストールした時点で通っているはずですが(以下は、sys.pathで確認した図)

image.png

 もしなければ、sys.path.append(追加したいパス)で追加できるはず。あまりない状況だとは思いますが……。

 さて、これでライブラリがインストールできたので、Python上でfrom fbx import *を打ってエラーがなければインストール完了。

image.png

 ちなみに最初64bit版のPythonインストーラでやった所、以下のようなエラーが出ました。

image.png

 ImportError: DLL load failed: 指定されたモジュールが見つかりません😭

 ちなみに赤丸の部分が、成功したバージョンとの相違点。「手順は解説ページと完全に合っているはずなのに、なぜ……」と半日ぐらい悩み続けていましたが、「このAMD64ってのがよくなさそうだな(適当)」という仮説を基に、ためしに32bitを入れてみたら上手くいった、というのが実際の流れになります。ちなみにOSはWindows10、もちろん64bitです。CPUは(たぶんあまり関係ないですが)Intel Core i9-9900K。

Macの場合

 Macの場合はpyenvを使えるので、導入さえしてしまえばもう少し簡単になります。3.3にも入れられます。pyenvの導入方法についてはこの方の記事とかがわかりやすいので割愛させてください。

 一点PATHで躓いた点があって、簡単にいうと上の解説ページにあったPATHを追加しても通りませんでした。ちなみにPATHについてはMacは、

image.png

 ユーザーディレクトリ直下にある.bash_profileというファイルで管理していて、他の解説記事だとコマンドだけでオシャレにこれをPATHを追加する方法がのっていますが、ファイル自体を開いた方がわかりやすいと思うのでその方法でいきます。

 ターミナルを開いた状態でopen .bash_profileと打つと

image.png

 こんな感じのテキストファイルが開かれると思います。要はここに乗っているテキストがそのままPATH群となる訳です。(といった感じでファイルが目に見えた方が、初めての人は安心するのではないでしょうか?)(少なくとも私はそう😅)

 で、ここの末尾に直接テキストでexport PATH="$HOME/.pyenv/shims:$PATH"を打ち込んで保存! 私の環境ではとりあえずこれでうまくいきました。

  後は、pyenvに3.3系のpythonを入れた後、~⁨/.pyenv⁩/⁨versions⁩/⁨3.3.7⁩/⁨libに⁩FBXSDKのライブラリファイルを置きます。

image.png

 こんな感じ。

image.png

 インポートも上手くいきました。ところでWindowsだとOS環境を示していたところにある[GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4)] on darwinなる文字列の意味がまったくわかりませんが、いずれわかりたいと思います。

 環境は、MacBook Pro (13-inch, 2018)、macOS Mojave 10.14.6、プロセッサ 2.3 GHz Intel Core i5といった感じです。

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?