我有一个Python脚本,我在其中导入datadog
模块。当我运行python datadog.py
时,它失败并显示ImportError:无法导入名称statsd
。该脚本以以下几行开头:
import os
import mysql.connector
from time import time
from datadog import statsd
实际错误消息如下:
$ python /mnt/datadog.py
Traceback (most recent call last):
File "/mnt/datadog.py", line 5, in <module>
from datadog import statsd
File "/mnt/datadog.py", line 5, in <module>
from datadog import statsd
ImportError: cannot import name statsd
但是当我在 Python shell 中(由 python
命令启动)时,我可以成功运行 from datadog import statsd
。这里有什么区别?
顺便说一句,我的计算机上安装了正确的 Python 软件包:
$ pip freeze | egrep 'datadog|mysql'
datadog==0.17.0
mysql-connector==2.1.6
$ python --version
Python 2.7.5
最佳答案
问题是您的脚本名为 datadog.py
。因此,当它导入模块 datadog
时,它会导入自身。
关于python - 为什么只有在运行 python 脚本时才得到 "ImportError"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48301318/