2010-08-25 153 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