簡體   English   中英

在Mac OS X 10.6 Snow Leopard上安裝Mercurial

[英]Installing Mercurial on Mac OS X 10.6 Snow Leopard

在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/ 我知道從M​​ac磁盤映像安裝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網站包目錄之一中會更好嗎?
  • 自修改了PYTHONPATH以來,我是否需要擔心virtualenv的正常工作(或其他沖突)?

從源安裝的原因

Hivelogic的 Dan Benjamin在他的文章《 在雪豹上安裝Mercurial》中提供了從源代碼安裝Mercurial的好處和說明。

為什么需要使用macports? python easy_install是最簡單且無錯誤的方法:

easy_install -U mercurial

一直都是簡單的金彈。

特別是因為您擁有可用的Python 2.6,所以可以執行python setup.py install --user ,它將以〜/ .local作為前綴安裝Mercurial。 您不必為此更改PYTHONPATH,而只需將〜/ .local / bin添加到PATH中。

關於優缺點:這全都取決於您的PYTHONPATH的外觀,因為對其進行修改自然會修改軟件包的加載順序(如果您安裝了一個版本的Mercurial版本並帶有一個前綴而另一個版本使用了不同的前綴,則這將變得很相關)。 通常,我嘗試將所有自定義包放入某個site-packages文件夾中(例如/usr/local/lib/python2.6/site-packages)。 再說一次:如果您是唯一將使用這些庫的人,則Python 2.6的distutils提供的--user標志使類似這樣的操作變得很容易(在模塊的默認搜索路徑中添加〜/ .local)。

只要您的PYTHONPATH一直使用,virtualenv應該就可以正常工作。

在您的用戶主目錄中安裝mercurial-或一般的任何Python軟件包。 因此,您可以從任何Python(相同版本)或任何virtualenv訪問它們。 有關詳細信息,請參見PEP 370

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

但是,為什么要手動構建商品? 我使用macports

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

更新 :如今,我只是使用PyPM將mercurial安裝到~/.local/bin/hg

正如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
$

對於一般的Mac OS X用戶而言,所有這些答案看起來都很復雜,因為它們特定於其他安裝平台。 到目前為止,Mercurial網站提供了一個安裝程序包(壓縮為zip文件)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM