Macの「/ Library /」と/ usr / local / lib


4

mac os x 8.5のこれら2つのフォルダーの違いは何ですか?tclの最新バージョンをインストールし、/ usr / local / libフォルダーに配置しました。ただし、/ Libraryの下にもtclフォルダーがあります。代わりにこのフォルダーにtclをインストールする必要がありますか?

私は実際にPythonでtkを使用しようとしていますが、Pythonはタイルdylibの間違ったアーチについて不平を言っています:/Library/Tcl/tile0.6/libtile0.6.dylib。これが、tkとtclの最新バージョンを構築してインストールした理由です。

なぜ/ usr / local / libではなくpython3がそこを探しているのですか?

回答:


4

/ LibraryはAppleが認可したもの、/ usr / local / *はターミナルで実行される一般的なサードパーティのインストールと考えてください。Pythonインストールは、AppleにバンドルされているMacに付属しているインストールである可能性があります。したがって、自分でインストールしたライブラリについては実際には知りません。Pythonアプリでsys.pathを設定して、ライブラリのロード元を指定できます。sys.pathを使用して、デフォルトのパスを確認することもできます。

$> python
>>> import sys
>>> print sys.path

別の方法として、サードパーティのパッケージ管理システムを使用してソフトウェアの開発バージョンをすべてインストールし、インストールするライブラリをよりきめ細かく制御することもできます。これにより、Appleが提供するものよりも新しいバージョンのライブラリに更新することもできます。MacPortsとHomebrewはそのようなパッケージ管理システムです。

したがって、あなたの場合、TkとPythonに興味があります。MacPortsを使用して独自のバージョンのPythonおよびTkをインストールし、すぐに使用できるバージョンの代わりにそれらのバージョンを使用できます。これらのパッケージは同じパッケージマネージャーによってインストールされるため、MacPortsバージョンのPythonは、MacPortsによってインストールされる他のpythonライブラリを認識します。

パッケージマネージャーを使用するということは、パッケージマネージャーが提供するソフトウェアを使用するために$ PATHを設定するなど、いくつかのことを行う必要があることを意味します。自分に。:-)


私は自分でpython3をインストールしましたが、コマンドラインでは実行しませんでした。「which python3」を実行すると、/ Library / Frameworks / Python.framework / Versions / 3.1 / bin / python3が取得されます。sys.pathを印刷すると、リストされているディレクトリはすべて/ Libraryに関連しています。/ usr / local / libに関する言及はありません。
バズ

ローカルマシン専用に開発している場合は、スクリプトのsys.pathに独自のエントリを追加できます。sys.path.insert(1、 '/ usr / local / lib')、またはsys.path.append( '/ usr / local / lib')。この行は、インポート文の前に表示されます。ただし、これにより、スクリプトを他のマシンに移植できなくなります。パッケージ管理の方が良いでしょう。PYTHONPATH環境変数を定義して、デフォルトのsys.pathを拡張することもできます。
ジミーフルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.