我已经在一台机器的$HOME/local中安装了python2.6.7,它已经在/usr中有一个默认的Python(我在这台机器上没有管理员权限)。默认的Python是用32位编译的,我的本地安装是64位的。由于一些未知的原因,我的本地Python库(我称之为C程序中的嵌入式Python解释器)搜索默认(错误)安装中的模块。在
这是“随机导入”的结果
Traceback (most recent call last):
File "test.py", line 3, in <module>
import random
File "/tmp/work/mdorier1/local/lib/python2.6/random.py", line 45, in <module>
from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil
ImportError: /usr/lib/python2.6/lib-dynload/math.so: wrong ELF class: ELFCLASS32
如您所见,import语句正确搜索“随机.py“在Python的本地安装中,但是import语句在随机.py去寻找数学。所以在错误的位置,由于默认位置有32位模块,因此以错误结束。在
我猜环境变量有问题,我试过了
^{pr2}$为了得到
['/tmp/work/mdorier1/local/lib/python26.zip',
'/tmp/work/mdorier1/local/lib/python2.6',
'/tmp/work/mdorier1/local/lib/python2.6/plat-linux2',
'/tmp/work/mdorier1/local/lib/python2.6/lib-tk',
'/tmp/work/mdorier1/local/lib/python2.6/lib-old',
'/usr/lib/python2.6/lib-dynload',
'/tmp/work/mdorier1/local/lib/python2.6/site-packages']
我注意到其中一个路径确实指向Python的默认安装。因此,我的问题是: -为什么这个路径出现在这里,因为本地安装与默认安装无关? -我如何改变它(以一种干净和永久的方式)?此路径应该是本地安装中lib dynload的路径。在
谢谢
在系统Python之前的PATH变量中可能没有Python的bin目录。在
或者您只是简单地错误地编译了Python而没有使用:
所以现在它认为它的文件在别的地方。在
相关问题 更多 >
编程相关推荐