在python中导入urllib或urllib2模块时,我得到了奇怪的输入请求“类型编号1:>”(无论是使用解释器还是从文件中-尽管解释器断断续续地遇到这个问题,但文件是一致的)
$ python testurl.lib
type number 1:>1
type number 2:>2
999
Traceback (most recent call last):
File "testurl.lib", line 1, in <module>
import urllib2
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 94, in <module>
import httplib
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 80, in <module>
import mimetools
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in <module>
import tempfile
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 35, in <module>
from random import Random as _Random
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/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: cannot import name log无论是否给出输入'1‘和'2’,输出/错误都是相同的。
试穿:
Python 2.7.10
Python 2.7.6
两个版本都有问题
发布于 2015-08-10 14:23:31
您的问题是在您的PYTHONPATH中的某处有一个math.py文件,这是在您导入模块时搜索的目录链。它从您当前的工作目录和脚本所在的目录开始,因此因为您在其中一个目录中有一个math.py文件(在本例中,它们可能是同一个目录),所以它在标准库中的math模块之前导入。
TLDR:从不将标准库模块的名称用于您自己的模块,因此您不会遇到这个问题。
发布于 2015-08-10 14:26:20
问题是你在同一个文件夹中有math.py。
当导入python时,查找当前文件夹,当它找到math.py时,它会尝试在导入数学模块之前导入它。
https://stackoverflow.com/questions/31912529
复制相似问题