Python模块导入差异”;string.maketrans";
我遇到了一个奇怪的python模块导入问题 当我尝试导入模块时 我得到了一个例外:Python模块导入差异”;string.maketrans";,python,import,Python,Import,我遇到了一个奇怪的python模块导入问题 当我尝试导入模块时 我得到了一个例外: Original exception was: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/boilerpipe-1.2.0-py2.7.egg/boilerpipe/extract/
Original exception was:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/boilerpipe-1.2.0-py2.7.egg/boilerpipe/extract/ __init__.py", line 2, in <module>
import urllib2
File "/usr/lib/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/usr/lib/python2.7/httplib.py", line 1140, in <module>
import ssl
File "/usr/lib/python2.7/ssl.py", line 58, in <module>
import textwrap
File "/usr/lib/python2.7/textwrap.py", line 40, in <module>
class TextWrapper:
File "/usr/lib/python2.7/textwrap.py", line 82, in TextWrapper
whitespace_trans = string.maketrans(_whitespace, ' ' * len(_whitespace))
AttributeError: 'module' object has no attribute 'maketrans'
原始异常是:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist-packages/boilerpipe-1.2.0-py2.7.egg/boilerpipe/extract/_init__.py”,第2行,在
导入urllib2
文件“/usr/lib/python2.7/urllib2.py”,第94行,在
导入httplib
文件“/usr/lib/python2.7/httplib.py”,第1140行,在
导入ssl
文件“/usr/lib/python2.7/ssl.py”,第58行,在
导入文本包装
文件“/usr/lib/python2.7/textwrap.py”,第40行,在
类TextWrapper:
TextWrapper中的文件“/usr/lib/python2.7/textwrap.py”,第82行
whitespace_trans=string.maketrans(_whitespace,'*len(_whitespace))
AttributeError:“模块”对象没有属性“maketrans”
我在互联网上搜索过,说在Python2.6中,“str”模块被重命名为“string”模块。所以这看起来像是在代码库中,它没有正确导入“字符串”模块
然而真正奇怪的是,当我从home
目录运行python代码并运行同一段代码时(通过使用python
shell或使用python pyfile.py
),它工作得很好!没有更多的导入错误
所以我有点困惑。有人能给我一些提示吗
谢谢 sys.path中的一些其他脚本称为“string.py”,正在屏蔽stdlib模块。sys.path中的一些其他脚本称为“string.py”,正在屏蔽stdlib模块。仔细检查以确保没有导入的文件
string.py
要对此进行调试,请放置以下位置:
import sys
raise Exception("string module: %r" %(sys.modules.get("string"), ))
这将告诉您导入了哪个字符串模块(或者如果它显示
None
,则说明还没有导入string
模块)。再次检查以确保没有导入的文件string.py
要对此进行调试,请放置以下位置:
import sys
raise Exception("string module: %r" %(sys.modules.get("string"), ))
这将告诉您导入了哪个字符串模块(或者如果它显示
None
,则没有string
模块已导入)。那么在“home”目录中运行与在其他目录中运行有什么不同呢?您的home目录没有string.py。是的。。。这解决了我的问题。我犯了一个愚蠢的错误。干杯那么,在“主”目录中运行与在其他目录中运行有什么不同呢?您的主目录没有string.py。是的。。。这解决了我的问题。我犯了一个愚蠢的错误。干杯谢谢你的回答。但是关于这个问题只有一行代码:来自boilerpipe.extract导入提取器
。我无法修改此外部库的源代码。另外,我检查了字符串模块,当我在home
dir中运行python时,以及在其他dir中运行python时,得到了不同的响应。为什么不同?嗨,谢谢你回答我的问题。我只是碰巧发现我自己在测试的其他目录中编写了一个“string.py”文件。现在问题解决了。谢谢你的回答。但是关于这个问题只有一行代码:来自boilerpipe.extract导入提取器
。我无法修改此外部库的源代码。另外,我检查了字符串模块,当我在home
dir中运行python时,以及在其他dir中运行python时,得到了不同的响应。为什么不同?嗨,谢谢你回答我的问题。我只是碰巧发现我自己在测试的其他目录中编写了一个“string.py”文件。现在问题解决了。谢谢