1

TA-Lib for Python 用の mrjbq7 のラッパーをビルドしようとしています。Visual Studio 2010 を使用しているため、何度か試行した結果、ラッパーがビルドされないことはほぼ確実ですが、私の Python は Visual Studio 2008 からコンパイラを探しています。コンパイラだけを取得することは可能ですか? Visual Studio 2008 を並べてインストールする必要があるかもしれないと感じています (別のスレッドで、これは問題なく動作すると述べています) が、可能であれば回避したいと考えています。出来ますか?
詳細情報:
Visual Studio 2010 Express がインストールされている
Windows 7
Python 2.7.3
pythonxy27 もインストールされ
ている コンパイラのバージョンを疑う理由:
a - 最後のエラーは不明な _ftol2_sse_ への参照です。他のスレッドは、間違ったコンパイラを使用しているためだと言っています
b - MSC v. の sys.version は 1500 で、これは MSVC 9.0 用です (これを見つけるためにインタプリタで distutils\cygwincompiler.py から数行を使用しました)

必要な情報がすべて揃っていることを願っています。必要に応じてさらに追加します。

4

2 に答える 2

8

Python 拡張機能をコンパイルするために Visual Studio をインストールする必要はまったくありません。適切な Windows SDK をインストールします (ここにある Python 2.7 の場合)。次に、Windows SDK コマンド プロンプトを使用して、distutils に MSVC 2008 を使用するよう説得します。

set MSSdk=1
set DISTUTILS_USE_SDK=1 
setenv /Release

その後、setup.py 経由でインストールできるはずです。

于 2013-01-09T04:19:34.063 に答える
1

助けてくれてありがとうルイス、そこから link.exe 1120 エラーの解決策を見つけました:
1 - 上記のルイスの投稿から Windows SDK を取得します
2 - Visual Studio 9 bin のフォルダーに移動します (私の場合: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin) 3 - Visual Studio 2008 コマンド プロンプト
を開きます 4 - ディレクトリを mrjdb7 のフォルダに変更します
5 - コマンド プロンプトで「python setup.py install」と入力します

この時点で、「vcvarsall.bat が見つかりません」というエラーが表示されるはずです。

6 - vcvar32.bat をコピーして貼り付けます
7 - 名前を vcvarsall.bat に変更します

この時点では、まだ機能しません。distutils python ファイルの問題です

8 - distutils フォルダーに移動します (私の場合: C:\Python27\Lib\distutils)
9 - msvc9compiler.py を開きます
10 - 関数 "def find_vcvarsall(version):" を探します (私の場合: 219 行目)
11 - 関数の終わりに向かって、次の行を探します: 'vcvarsall = os.path.join(productdir, "vcvarsall.bat")' (私の場合: 257 行目)
12 - 置き換え: vcvarsall = os.path.join(productdir, r"bin\vcvarsall 。バット")

私が見つけた問題、msvc9compiler.py は、vcvarsall.bat ファイルがある場所から 1 つのフォルダーを検索していました。\bin フォルダーを検索する必要がありました。

于 2013-01-10T01:39:48.377 に答える