2010-08-25 196 views
4

我很討厭在python中安裝模塊,並且遇到了很多麻煩,所以找到一個好的解決方案會很棒。這裏是我的問題:Python的Pythonpath模塊安裝

  1. PYTHONPATH:我怎麼能告訴easy_install/Python在哪裏安裝我的包?

即使我把:/Library/Python/2.6/site-packages.bash_profile

有了:

PYTHONPATH="/Library/Python/2.6/site-packages" 
export PYTHONPATH 

它不會導入包我都在那裏。

在另一個網站上的一切我投入:

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

作品。我不知道爲什麼,也很想知道。

  • 我只安裝 「南」 與命令easy_install south並安裝了它,猜測,右爲:
  • /Library/Python/2.6/site-packages

    現在複製的 「南」 哪安裝有(它是在一個文件夾,名爲:South-0.7.2-py2.6.egg,我只是複製以南),並將其粘貼到

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

    現在去我的Django項目的目錄時(其中settings.py安裝的應用我有「南」)和

    python manage.py shell

    南依這是一個很好的指標,這我可以導入作品。

    1. Can/Do必須爲每個模塊做到這一點嗎?有沒有更好的方法來解決這個問題。請說有。

    感謝

    +0

    當你從* .bash_profile *中刪除'PYTHONPATH =「/ Library/Python/2.6/site-packages」export PYTHONPATH'時,* easy_install *會做什麼?或者換句話說:你爲什麼改變* PYTHONPATH *? – Eike 2010-08-25 14:03:02

    +0

    我想我必須添加包含python,django等模塊的每個目錄。我有多個pythonpath,就像我在這裏發佈的那樣。 這是錯誤的嗎?什麼是正確的方式? – MacPython 2010-08-25 14:26:29

    +0

    請參閱http://stackoverflow.com/questions/4460367/install-python-2-7-1-side-by-side-with-apple-supplied-python – SPRBRN 2014-01-04 22:38:59

    回答

    8

    基於您的問題中的路徑(/Library/Frameworks/Python.framework/Versions/2.6),您似乎除了Apple提供的Python之外還安裝了其他Python。這是python.org OS X安裝程序的標準安裝路徑。

    的竅門能讓easy_install安裝到右邊的Python站點包的位置是瞭解您有需求各 Python實例有它的easy_install自己副本,你需要確保你使用的是正確的一個,當你安裝一個包。對於OS X 10.5和10.6,Apple爲其提供的Pythons提供easy_install命令/usr/bin。例如,在10。6:

    $ ls -l /usr/bin/easy_install* 
    -rwxr-xr-x 2 root wheel 925 Jun 30 2009 /usr/bin/easy_install* 
    -rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.5* 
    -rwxr-xr-x 1 root wheel 421 Jun 30 2009 /usr/bin/easy_install-2.6* 
    

    他們將安裝到/Library/Python/2.x/適當的位置這哪裏是蘋果提供的蟒蛇尋找站點包默認。

    對於python.org Python,默認站點包位置在/Library/Frameworks/Python.framework/Versions/x.y。在適當的目錄下,有一個lib/pythonx.y/site-packages,你也可以找到bin目錄。爲了使Python的有默認值,請確保bin目錄是在你的shell路徑,並配/usr/bin/之前,所以是這樣的:

    export PATH="/Library/Frameworks/Python.framework/Versions/2.6/bin:${PATH}" 
    

    默認python.org安裝程序試圖修改您的殼輪廓文件,像.bash_profile,這樣做。然後按照說明安裝setuptools,它提供傳統版本easy_installDistribute,這是easy_install的更尖端版本。然後,您應在框架bin目錄中看到一個easy_install命令:

    $ cd /Library/Frameworks/Python.framework/Versions/2.6 
    $ ls -l bin/easy_install* 
    -rwxr-xr-x 1 nad admin 360 Aug 25 07:30 bin/easy_install* 
    -rwxr-xr-x 1 nad admin 368 Aug 25 07:30 bin/easy_install-2.6* 
    

    ,如果你用它來安裝軟件包,他們將在適當的地方結束了,一切都會很高興。

    +0

    這正是我需要理解的。爲此感謝30億美元。因爲您似乎是這個人的合適人選,所以還有一個問題。 PATH和PYTHONPATH有什麼區別?並可以有多個PATH..exportPATH和PYTHONPATH ... exportPYTHONPATH? 非常感謝。如果可能的話,我會喜歡我自己的問題。 – MacPython 2010-08-25 14:42:52

    +0

    此外,我剛剛檢查我有: 導出PATH =「/ Library/Frameworks/Python.framework/Versions/2.6/bin:$ {PATH}」 在我的PYTHONPATH。 First Position – MacPython 2010-08-25 14:53:59

    +0

    如果我正確理解你的問題,'PATH'是一個環境變量,用於告訴操作系統和shell以什麼順序在命令行搜索可執行程序(http://en.wikipedia.org/維基/ PATH_(可變))。 'PYTHONPATH'是一個環境變量,用於告訴Python其他位置搜索Python模塊(http://docs.python.org/using/cmdline.html#envvar-PYTHONPATH)。如果您按照上面所述設置了PATH並使用正確的'easy_install'安裝到正在使用的Python的正確默認位置,則通常不需要設置'PYTHONPATH'。 – 2010-08-25 14:55:21

    0

    -d參數easy_install告訴它在哪裏安裝模塊(一個或多個)。

    +1

    所以這樣? easy_install -d /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages – MacPython 2010-08-25 14:06:51

    -1

    sudo env ARCHFLAGS="-arch x86_64" easy_install-2.7 lxml在Mac OS 10.9上工作。確保驗證您在easy_install命令中使用的python版本。

    +0

    這個答案沒有任何貢獻,因爲這個問題已經被描述和解決@NedDeily – DilithiumMatrix 2015-06-09 18:22:43

    +0

    它會幫助我,如果我偶然發現一個答案,同時谷歌搜索這個... – maxko87 2015-06-09 20:05:02

    +0

    這個問題與無關一個特定的架構(比如'x86_64'),'easy_install'版本或者程序(比如'lxml')... – DilithiumMatrix 2015-06-09 20:31:44