栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

有关PYTHONPATH的Python 2.x多个版本问题

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有关PYTHONPATH的Python 2.x多个版本问题

1)调用python 2.7

简而言之:不要这样做。将该路径称为“ / usr / lib / python * 2.6 * / site-packages /”的原因有很多。

原因之一是,通常在此目录中存储“已编译”的python文件(.pyc)。python 2.6和python 2.7 .pyc文件不兼容:

$ python2.7 /usr/lib/python2.6/sitecustomize.pycRuntimeError: Bad magic number in .pyc file

python会跳过它无法理解的pyc文件,但是您至少会失去预编译文件的好处。

另一个原因是,事情可能会混淆:

$ strace -f python2.7 /usr/lib/python2.6/sitecustomize.py...stat("/etc/python2.6", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0stat("/etc/python2.6", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0stat("/etc/python2.6/apport_python_hook", 0x7fffa15601f0) = -1 ENOENT (No such file or directory)open("/etc/python2.6/apport_python_hook.so", O_RDONLY) = -1 ENOENT (No such file or directory)open("/etc/python2.6/apport_python_hookmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)open("/etc/python2.6/apport_python_hook.py", O_RDONLY) = -1 ENOENT (No such file or directory)open("/etc/python2.6/apport_python_hook.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)stat("/usr/lib/python2.7/apport_python_hook", 0x7fffa15601f0) = -1 ENOENT (No such file or directory)open("/usr/lib/python2.7/apport_python_hook.so", O_RDONLY) = -1 ENOENT (No such file or directory)open("/usr/lib/python2.7/apport_python_hookmodule.so", O_RDONLY) = -1 ENOENT (No such file or directory)open("/usr/lib/python2.7/apport_python_hook.py", O_RDONLY) = -1 ENOENT (No such file or directory)open("/usr/lib/python2.7/apport_python_hook.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)stat("/usr/lib/python2.7/plat-linux2/apport_python_hook", 0x7fffa15601f0) = -1 ENOENT (No such file or directory)...

在您的情况下,我会在python2.7目录中安装python 2.7所需的模块。

2)调用python 2.6

您可能需要看一下手册页中描述PYTHONHOME的部分:

PYTHONHOME:更改标准Python库的位置。默认情况下,在$ {prefix} / lib / python [version]和$
{exec_prefix} / lib / python [version]中搜索这些库,其中$ {prefix}和$
{exec_prefix}是与安装有关的目录,默认情况下到/ usr / local

您可以将python
2.7特定文件/模块存储在本地安装中的相应目录中。仅当您运行特定版本的python时,才会选择这些文件/模块。在这种情况下,您不得设置PYTHONPATH(或PYTHONHOME)。

注意:这正是Debian(可能还有其他发行版)管理同时安装的不同python版本的方式。

[编辑:在收到niboshi的评论后,添加了第1节。]



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646608.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号