14

Mac OS X 10.6 Snow Leopard への Mercurial のインストール

以下を使用して、ソースから Mac OS X 10.6 Snow Leopard に Mercurial 1.3.1 をインストールしました。

cd ~/src
curl -O https://www.mercurial-scm.org/release/mercurial-1.3.1.tar.gz
tar -xzvf mercurial-1.3.1.tar.gz
cd mercurial-1.3.1
make all
sudo make install

これにより、Mercurial のサイト パッケージ ファイルが にインストールされ/usr/local/lib/python2.6/site-packages/ます。Mac ディスク イメージから Mercurial をインストールする/Library/Python/2.6/site-packages/と、Mac OS X のデフォルトの Python インストール用の site-packages ディレクトリである にファイルがインストールされることはわかっています。

Python 2.6.2+ をフレームワークとしてインストールし、その site-packages ディレクトリを次の場所に配置しました。

/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

この方法で Mercurial をインストールしたら、以下を発行する必要があります。

PYTHONPATH=/usr/local/lib/python2.6/site-packages:"${PYTHONPATH}"

Mercurial を動作させるため。

質問

  • Mercurial をソースから別のディレクトリにあるサイト パッケージと共にインストールするにはどうすればよいですか?
  • サイトパッケージを現在の場所に置くことの利点または欠点はありますか? 既に存在する Python サイト パッケージ ディレクトリの 1 つでよいでしょうか?
  • PYTHONPATH (またはその他の競合) を変更したため、virtualenv が正しく動作することを心配する必要がありますか?

ソースからインストールする理由

HivelogicのDan Benjaminは、彼の記事「 Installing Mercurial on Snow Leopard」で、Mercurial をソースからインストールする利点とその手順を説明しています。

4

5 に答える 5

13

なぜmacportsを使用する必要があるのですか? pythoneasy_installは最も簡単な方法であり、エラーはありません。

easy_install -U mercurial

それは常に単純な金の弾丸です。

于 2010-04-02T05:11:21.367 に答える
8

mercurial または一般的な Python パッケージをユーザーのホーム ディレクトリにインストールします。したがって、任意の Python (同じバージョン) または任意の virtualenv からアクセスできます。詳細はPEP 370を参照してください。

$ cd mercurial-x.y.z/
$ python2.6 setup.py install --user
$ ~/.local/bin/hg
...

しかし、なぜ mercurial を手動でビルドしたいのでしょうか? 私はmacportsを使用しています。

$ sudo port install mercurial
$ which hg
/opt/local/bin/hg

更新: 最近では、PyPMを使用して mercurial を にインストールし~/.local/bin/hgます。

于 2009-09-29T05:28:44.530 に答える
8

特に Python 2.6 を利用できるのでpython setup.py install --user、 ~/.local をプレフィックスとして Mercurial をインストールするようなことができます。このために PYTHONPATH を変更する必要はありませんが、~/.local/bin を PATH に追加するだけです。

長所と短所について: PYTHONPATH を変更すると、パッケージのロード順序が自然に変更されるため、PYTHONPATH が一般的にどのように見えるかに依存します (これは、あるバージョンの Mercurial があるプレフィックスでインストールされ、別のバージョンのプレフィックスでインストールされている場合に関連します)。一般に、すべてのカスタム パッケージを特定のサイト パッケージ フォルダー (/usr/local/lib/python2.6/site-packages など) に配置しようとします。繰り返しますが、これらのライブラリを使用するのがあなただけである場合、Python 2.6 の distutils によって提供される --user フラグを使用すると、このようなことが非常に簡単になります (モジュールのデフォルトの検索パスに ~/.local を追加することで)。

PYTHONPATH が一貫して使用されている限り、virtualenv は問題なく動作するはずです。

于 2009-09-22T21:08:11.820 に答える
5

Sridhar が示唆するように、macports は複数のアーキテクチャとバージョンの MacOsX + で正常に動作し、更新などが可能です。

$ port variants mercurial
mercurial has the variants:
   bash_completion: Completion support for bash
   zsh_completion: Install mercurial zsh completion file
$

あなたが使用できるように:

$ sudo port install mercurial +bash_completion
--->  Computing dependencies for mercurial
--->  Fetching mercurial
--->  Attempting to fetch mercurial-1.3.1.tar.gz from http://arn.se.distfiles.macports.org/python
--->  Attempting to fetch mercurial-1.3.1.tar.gz from http://www.selenic.com/mercurial/release/
--->  Verifying checksum(s) for mercurial
--->  Extracting mercurial
--->  Configuring mercurial
--->  Building mercurial
--->  Staging mercurial into destroot
--->  Installing mercurial @1.3.1_0+bash_completion
--->  Activating mercurial @1.3.1_0+bash_completion
--->  Cleaning mercurial
$
于 2009-12-24T11:47:24.377 に答える
1

これらの答えはすべて、他のインストールプラットフォームに固有であるため、平均的なmacOSXユーザーには複雑に見えます。現在、MercurialのWebサイトでは、インストーラーパッケージ(zipファイルとして圧縮)が提供されています。

于 2010-05-04T01:52:07.000 に答える