python本地库_如何设置本地python库目录/ PYTHONPATH?

今天,在尝试编写使用PIL的Python脚本的过程中,我发现本地计算机上似乎没有该脚本(OS X 10.5.8,默认为2.5 Python安装)。

所以我跑:

easy_install--prefix=/usr/local/python/pil

并且它抱怨/usr/local/python/lib/python2.5/site-packages尚不存在,因此我创建了它,然后重试,得到以下信息:

测试失败:/usr/local/python//lib/python2.5/site-packages不支持.pth文件错误:错误的安装目录或PYTHONPATH

您正在尝试将软件包安装到PYTHONPATH以外的目录中,而Python不会从该目录中读取“ .pth”文件。您指定的安装目录(通过--install-dir,--prefix或distutils默认设置)为:

/usr/local/python//lib/python2.5/site-packages

并且您的PYTHONPATH环境变量当前包含:

''

好的,很公平-我没有做任何事情来设定路径。所以我在〜/ .bash_profile中添加了一条快速线:

PYTHONPATH =“ $ PYTHONPATH:/usr/local/python/lib/python2.5”

而source它,然后再试一次。

同样的错误信息。

鉴于PYTHONPATH设置明确,这有点奇怪。我可以echo $PYTHONPATH回来:/usr/local/python/lib/python2.5。我决定从内部检查包含路径的样子:

importsysprint"\n".join(sys.path)

产生:

/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5 /System/Library/Frameworks/Python.framework /Versions/2.5/lib/python2.5/plat-darwin /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac /System/Library/Frameworks/Python.framework/Versions /2.5/lib/python2.5/plat-mac/lib-scriptpackages /System/Library/Frameworks/Python.framework/Versions/2.5/Extras/lib/python /System/Library/Frameworks/Python.framework/Versions/2.5 /lib/python2.5/lib-tk /System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload /Library/Python/2.5/site-packages / System / Library / Frameworks /Python.framework/Versions/2.5/Extras/lib/python/PyObjC

从中/usr/local/python/yadda/yadda明显缺失。

不知道我应该在这里做什么。如何获取python将该位置识别为包含路径?

更新

正如Sven Marnach所建议的那样,我忽略了导出PYTHONPATH。我已经纠正了这个问题,现在当我sys.path从Python中打印出来时看到了它。但是,TEST FAILED仅使用新的PYTHONPATH环境变量,我仍然收到上面提到的错误消息。

因此,我尝试将其从更改/usr/local/python/lib/python2.5为/usr/local/python/lib/python2.5/site-packages,导出,然后easy_install再次运行同一命令。这导致了一个全新的结果,起初看起来像成功(但不是):

Creating/usr/local/python/lib/python2.5/site-packages/site.pySearchingforpilReadinghttp://pypi.python.org/simple/pil/Readinghttp://www.pythonware.com/products/pilReadinghttp://effbot.org/zone/pil-changes-115.htmReadinghttp://effbot.org/downloads/#ImagingBestmatch:PIL1.1.7Downloadinghttp://effbot.org/media/downloads/PIL-1.1.7.tar.gzProcessingPIL-1.1.7.tar.gzRunningPIL-1.1.7/setup.py-q bdist_egg--dist-dir/var/folders/XW/XWpClVq7EpSB37BV3zTo+++++TI/-Tmp-/easy_install-krj9oR/PIL-1.1.7/egg-dist-tmp--Pyauy---using frameworks at/System/Library/Frameworks[snipped:compiler warnings]--------------------------------------------------------------------PIL1.1.7SETUP SUMMARY--------------------------------------------------------------------version1.1.7platform darwin2.5.1(r251:54863,Sep12010,22:03:14)[GCC4.0.1(AppleInc.build5465)]-----------------------------------------------------------------------TKINTER support available---JPEG support available---ZLIB(PNG/ZIP)support available***FREETYPE2 supportnotavailable***LITTLECMS supportnotavailable--------------------------------------------------------------------Toadd a missing option,make sure you have the required

library,andset the corresponding ROOT variableinthe

setup.py script.Tocheck the build,run the selftest.py script.zip_safe flagnotset;analyzing archive contents...Image:module references __file__Noeggs foundin/var/folders/XW/XWpClVq7EpSB37BV3zTo+++++TI/-Tmp-/easy_install-krj9oR/PIL-1.1.7/egg-dist-tmp--Pyauy(setup script problem?)

同样,这看起来不错,但是当我运行脚本时:

追溯(最近一次调用):

文件“ checkerboard.py”,导入图像中的第1行,I​​mageDraw ImportError:没有名为Image的模块

当我检查正在/usr/local/python/使用的内容时find .,我得到:

./lib ./lib/python2.5 ./lib/python2.5/site-packages ./lib/python2.5/site-packages/site.py ./lib/python2.5/site-packages/site。 pyc

所以...看起来没有什么模块(我假设site.py和site.pyc是元数据或帮助程序脚本)。安装到哪里去了?

我注意到这一点:

要检查构建,请运行selftest.py脚本。

但是真的不知道那是什么。

我还注意到“未找到鸡蛋”消息。这些提示之一吗?

解决方案

您正在OS X中使用Apple提供的Python 2.5。这是一个框架构建,默认情况下,它/Library/Python/2.5/site-packages用作已安装软件包的位置,而不是/usr/local。通常,您不需要指定--prefixOS X框架版本。还请注意,Apple随OS X 10.5提供的setuptools(easy_install)以及Python本身的版本也相当老。

也就是说,PIL在OS X尤其是OS X 10.5上完全正确地安装并不是特别简单。搜索档案或其他地方的技巧和/或二进制包。特别是如果您打算使用其他模块(例如MySQL或Django),我的建议是使用MacPorts之类的包管理器安装所有内容(Python和PIL)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值