2012-05-07 31 views
2

python testframeworkでは、Tkinterを介してspirent testcenterのtcl APIに接続します。このspirent testcenter APIは32ビットでしか利用できません。つまり、私たちのtclインタープリタは32ビットである必要があります。私たちはPythonからTkinterを使ってtcl APIを操作します。 (私は最近、pythonドライバがtestcenter用にリリースされたことを認識していますが、これも32ビットのみです。)TkinterはPythonに統合されているため、Pythonのインストールも32ビットでなければなりません。64ビットLinuxで32ビットのPythonモジュール(numpyなど)をコンパイルする

このフレームワークをCentOS x86_64ワークステーションで実行したいと思います。私はtestcenterドライバ、ActiveTclとPythonを32ビットですべてインストールすることができました。これは動作します。しかし、testframeworkはPythonパッケージのいくつか(例えばnumpy)にも依存しています。これらのパッケージも32ビットで構築する必要があります。しかし、私はこれらのパッケージを32ビットで構築する方法を理解できません。 distutils buildコマンド(つまりpython setup.py build)にコンパイラオプション-m32を渡そうとしましたが、これは幸い無視されています。プラットフォームに合格するには-pオプションがあるようですが、これはウィンドウ上でのみ機能します。私は32ビットのみのコンパイラを使用してみましたが、distutilsには利用可能なコンパイラの静的なリストがあるようですが、インテルコンパイラ(商用)は32ビットしかありません。

64ビットLinuxアーキテクチャーで32ビットのPythonモジュールを構築する方法や、64ビットでPython自体をビルドする方法については素晴らしい人がいますが、パッケージのインストールは簡単ですが、32のtcl/tkビット?

乾杯。

ヴィム

+0

あなたは(多くのモジュールが共有ライブラリです)32ビットモジュールをロードできるようにするには、32ビットのpythonを持っている必要があるでしょう。また、コンパイルとリンクの両方に 'gcc' -m32'オプションが必要です。 –

+0

あなたの返事をありがとう。私が言及したように、私はtclとpython(2.7)の32ビット版をインストールしました。問題は、x86_64マシン上でこの32ビット版のPython用に32ビットでモジュールをビルドする方法です。 – user1379192

+0

そして、 '-m32'を一貫して使用し、32ビットのPythonを使ってdistutilsを呼び出してみてください。 –

答えて

2

モジュールにあなたが何をしようとしている方法を構築するには、モジュールをコンパイルしようとする前に、CFLAGS = -m32とLDFLAGS = -m32を設定する必要があります。例えば

CFLAGS=-m32 LDFLAGS=-m32 python setup.py install 
+0

私は32ビットPythonを最初から入手するのと同じことをやっていると思いますか? – schlamar

関連する問題