سؤال

تثبيت Mercurial على ماك OS X 10.6 سنو ليوبارد

لقد قمت بتثبيت Mercurial 1.3.1 على Mac OS X.6 Snow Leopard من المصدر باستخدام ما يلي:

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 in /usr/local/lib/python2.6/site-packages/. وبعد أعلم أن تثبيت Mercurial من صورة قرص Mac ستقوم بتثبيت الملفات في /Library/Python/2.6/site-packages/, ، والتي هي دليل الحزم في الموقع لتثبيت Mac OS X Default Python.

لدي Python 2.6.2+ مثبت كإطار مع دليل حزم الموقع في:

/ library/frameworks/python.framework/versions/2.6/lib/python2.6/site-packages.

مع تثبيت mercurial بهذه الطريقة، يجب علي إصدار:

pythonpath = / usr / local / lib / python2.6 / حزم الموقع: "$ {pythonpath}"

من أجل الحصول على mercurial للعمل.

أسئلة

  • كيف يمكنني تثبيت mercurial من المصدر مع حزم الموقع في دليل مختلف؟
  • هل هناك ميزة أو عيب لها حزم الموقع في الموقع الحالي؟ هل سيكون أفضل في أحد أدلة حزمة موقع بيثون الموجودة بالفعل؟
  • هل أحتاج إلى أن أكون قلقا بشأن العمل Virtualenv بشكل صحيح منذ أن قمت بتعديل PythonPath (أو أي صراعات أخرى لهذه المسألة)؟

أسباب التثبيت من المصدر

دان بنيامين من سارة يوفر فوائد وتعليمات لتثبيت Mercurial من المصدر في مقاله تثبيت mercurial على الثلج ليوبارد.

هل كانت مفيدة؟

المحلول

خاصة لأن لديك بيثون 2.6 المتاحة يمكنك القيام بشيء مثل python setup.py install --user, ، مما سيقوم بتثبيت Mercurial مع ~ / .LACAL كادئة. ليس عليك تغيير pythonpath لهذا ولكن فقط أضف ~ / .log / bin إلى المسار الخاص بك.

فيما يتعلق بالمزايا والعيوب: أن كل ذلك يعتمد على ما يبدو على ما يبدو عليه PythonPath بشكل عام منذ تعديله، فسيؤدي بطبيعة الحال إلى تعديل ترتيب تحميل الحزم (الذي يصبح ذا صلة إذا كان لديك إصدار واحد من Mercurial مثبتا بادئة واحدة وآخر مع بادئة مختلفة). بشكل عام، أحاول وضع جميع الحزم المخصصة في مجلد معين على حزم الموقع (قل /usr/local/lib/python2.6/site-packages). مرة أخرى: إذا كنت الشخص الوحيد الذي سيستخدم Libs تلك، فإن العلم القانوني الذي يوفره Distutils Python 2.6 يجعل شيئا مثل هذا سهل للغاية (مع إضافة ~ / .lalocal إلى مسار البحث الافتراضي للوحدات).

يجب أن تعمل VirtualEnv على ما يرام طالما يتم استخدامك PythonPath الخاص بك باستمرار.

نصائح أخرى

لماذا تحتاج إلى استخدام macports؟ بيثون easy_install هي أسهل طريقة وخارجية الخطأ:

easy_install -U mercurial

انها مجرد رصاصة ذهبية بسيطة، في كل وقت.

تثبيت Mercurial - أو أي حزمة بيثون بشكل عام - في الدليل الرئيسي للمستخدم الخاص بك. وبالتالي يمكنك الوصول إليها من أي ثعبان (من نفس الإصدار) أو أي virtualenv. يرى بيب 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

تحديث: في الوقت الحاضر، أنا ببساطة استخدام بيبم لتثبيت 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 يقدم حزمة مثبت (مضغوط كملف مضغوط).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top