6

これを自分の開発マシンでビルドしたいだけです.Python.orgからのバイナリインストールはまだ32ビットであり、拡張機能(MySQLdbなど)をインストールすると、すべての拡張機能の適切なフラグを見つけようとして頭がおかしくなります。

明確化: 私はシステム Python を置き換えませんでした。Python.org バイナリを /System/Library/... ではなく /Library/... の通常の場所にインストールしただけです。

他のすべてはデフォルトで 64 ビットをビルドしているようで、デフォルトの Python 2.6.1 は 64 ビットでした (Python.org ビルドに置き換える前は、それが直接の置き換えであると考えていました)`

1台のマシンで手間をかけずに実行できる64ビットのみのビルドが必要です。

誰も簡単な答えを持っていますか?

どうもありがとう、ssteinerX@gmail.com

4

4 に答える 4

11

たまたまMacPortsを使用している場合は、Universal をコンパイルしないように指示するバリアントを次のように指定するだけです。

sudo port install python26 -universal

variants次のコマンドを使用して、利用可能なバリアントを表示できます。

% port variants python26                                                        
python26 has the variants:
   darwin: Platform variant, selected automatically
   no_tkinter: Disable Tkinter support, which will break IDLE
   ucs4: Enable support for UCS4
   universal: Build for multiple architectures

ご覧のとおり、10.6 ではデフォルトで、darwinx86_64 のみをビルドするバリアントがビルドされます。

% cd /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/
% file python2.6
python2.6: Mach-O 64-bit executable x86_64

Universal であるデフォルトの Python バイナリと比較します。

% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):        Mach-O executable i386
/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc

MacPorts を使用していない場合は、検討することをお勧めします。すべてを手動で構成およびコンパイルする必要がある多くの時間と心痛を節約でき、 Porticusと呼ばれる優れた GUI インターフェイスがあります。もちろん、すべて無料でオープンソースです!

ps元のシステム バイナリを置き換えたり、名前を変更したりしないでください。Ned Dailyのコメントで示唆されているように:

「PATH環境変数の検索順序を変更して目的のpythonインスタンスへのアクセスを管理するか、必要に応じて/opt/local/bin/python2.6のような絶対パスを使用してください」.

于 2010-01-21T17:36:52.980 に答える
5

常にmacports...sheesh

これは私がしたことです:

~: wget http://python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2
~: tar xjf Python-2.6.5.tar.bz2
~: cd Python-2.6.5
~: ./configure ./configure MACOSX_DEPLOYMENT_TARGET=10.6 --enable-framework --with-universal-archs="64-bit" CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64"
~: make -j6
~: sudo make install

FLAGSのものでは少し冗長かもしれませんが、うまくいきました。

于 2010-06-13T21:09:51.887 に答える
5

最も簡単な解決策は、MacPorts から必要なものをすべてプルすることです。

$ sudo port selfupdate
$ sudo port install python26 +no_tkinter -universal py26-mysqldb -universal

これにより、python2.6、MySQLdb アダプター、および必要な MySQL クライアント ライブラリがインストールされます。no_tkinter本当に tkinter が必要でない限り、バリアントを追加することをお勧めします。10.6 の Tk の MacPorts バージョンにはいくつかの問題がありました。

編集: MacPorts Python は としてインストールされることに注意してください/opt/local/bin/python2.6。シェルの $PATH を調整して、/opt/local/bin が /usr/local/bin および /usr/bin の前にあることを確認する必要がある場合があります。/opt/local/bin/python が MacPorts python2.6 を参照するようにするには、上記を実行してから:

$ sudo port install python_select
$ sudo python_select python26
于 2010-01-21T19:21:37.413 に答える
3

上記の方法を使用して 64 ビットの Python セットアップを取得したら、Aaron Meurer によるこのブログ投稿も、Python が実際に 64 ビットとしてインストールされていることを確認するのに役立ちます。この投稿では、32 ビットのインストールと並行して 64 ビットの Python を実行することについても触れていますが、これはいくつかの目的に役立つと思います。

于 2010-06-13T21:03:37.623 に答える