好的,所以这很奇怪...... 我在Windows XP上运行Python 2.5,并使用easy_install来获取库java2python。我试图运行j2py.py,但每当我这样做时,它都会给我这个错误:
C:\Python25\Lib\site-packages>j2py.py
Traceback (most recent call last):
File "C:\Python25\Lib\site-packages\j2py.py", line 16, in
from java2python.compiler import Module, buildAST, transformAST
File "C:\Python25\Lib\site-packages\__init__.py", line 9, in
File "c:\python25\lib\site-packages\java2python-0.5.1-py2.5.egg\java2python\co
mpiler\block.py", line 16, in
File "c:\python25\lib\site-packages\java2python-0.5.1-py2.5.egg\java2python\co
mpiler\visitor.py", line 15, in
ImportError: cannot import name reduce
所以我进入java2python-0.5.1-py2.5.egg文件夹并删除了reduce的导入。这仍然会导致错误,但我当时并不知道。我再次运行它,即使该线已被删除,它也有我的完全相同的错误。我将java2python-0.5.1-py2.5.egg目录下的java2python文件夹移到了site-packages目录中,它给了我同样的错误。我从easy_install.pth中删除了java2python-0.5.1-py2.5.egg,并且出现了相同的错误。我甚至在同一个命令提示符下执行了此命令:
C:\Python25\Lib\site-packages>cd c:\python25\lib\site-packages\java2python-0.5.1
-py2.5.egg\java2python\compiler
The system cannot find the path specified.
我只是不明白。为什么会这样?
答案 0 :(得分:1)
导入的reduce表示java2python是在比2.5更新的python版本上制作和测试的。
删除后错误仍然存在可能是因为visitor.py [c]仍然在您的路径中并且由于某种原因未更新。特别是因为在您完全删除.egg
我会尝试导入访问者,然后使用vistory.__file__
查看正在加载的文件的实际文件位置。