Python导入语句仅识别来自特定目录的包?
这是我遇到的一个更奇怪的问题,我不知道是什么导致了它 我有一个Python导入语句仅识别来自特定目录的包?,python,python-3.x,python-2.7,python-import,Python,Python 3.x,Python 2.7,Python Import,这是我遇到的一个更奇怪的问题,我不知道是什么导致了它 我有一个from x import x语句,它只在某些文件目录中工作 例如,从我的userroot目录 C:\Users\admin>where python C:\scoop\shims\python.exe C:\Users\admin>python Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AM D64)]
from x import x
语句,它只在某些文件目录中工作
例如,从我的userroot
目录
C:\Users\admin>where python
C:\scoop\shims\python.exe
C:\Users\admin>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit
(AM D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from influxdb import InfluxDBClient
>>> ^Z
C:\Users\admin>cd Desktop
C:\Users\admin\Desktop>where python
C:\scoop\shims\python.exe
C:\Users\admin\Desktop>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AM D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from influxdb import InfluxDBClient
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\scoop\apps\python27\current\lib\site-packages\influxdb\__init__.py",
line 9, in <module>
from .client import InfluxDBClient
File "C:\scoop\apps\python27\current\lib\site-packages\influxdb\client.py", li
ne 14, in <module>
import requests
File "C:\scoop\apps\python27\current\lib\site-packages\requests\__init__.py",
line 43, in <module>
import urllib3
File "C:\scoop\apps\python27\current\lib\site-packages\urllib3\__init__.py", l
ine 8, in <module>
from .connectionpool import (
File "C:\scoop\apps\python27\current\lib\site-packages\urllib3\connectionpool.
py", line 3, in <module>
import logging
File "logging.py", line 4, in <module>
from influxdb import InfluxDBClient
ImportError: cannot import name InfluxDBClient
>>> ^Z
我可以很好地导入包-但是当我转到桌面时(它仍然是我的用户目录的一部分)
和根目录-
C:\Users\admin\Desktop>cd..
C:\Users\admin>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\scoop\\apps\\python27\\current\\python27.zip', 'C:\\scoop\\apps\\pytho
n27\\current\\DLLs', 'C:\\scoop\\apps\\python27\\current\\lib', 'C:\\scoop\\apps
\\python27\\current\\lib\\plat-win', 'C:\\scoop\\apps\\python27\\current\\lib\\l
ib-tk', 'C:\\scoop\\apps\\python27\\current', 'C:\\scoop\\apps\\python27\\curren
t\\lib\\site-packages']
>>> ^Z
你可以看到它们完全一样。我想这可能是一个环境变量问题,但为什么它在userroot
中工作,而在useroot/Desktop
上不工作呢?这似乎不仅仅是一个influxdb
错误,BeautifulSoup
也做了同样的事情
这是从管理员帐户上的提升cmd提示符运行的。我尝试过卸载和重新安装python。我试过蟒蛇2和蟒蛇3。我试过设置PYTHONPATH
有什么想法吗?请注意,您的错误消息是
ImportError:cannotimportname InfluxDBClient
,而不是ImportError:No module name influxdb
。因此,它找到了模块,但找不到名称InfluxDBClient
。可能您有另一个influxdb.py
浮动?它似乎在导入日志时失败。您的桌面上可能有一个logging.py
吗?我的计算机上没有其他使用influxdb.py的python脚本。。。我的桌面上确实有logging.py-但是为什么influxdb的上面一行代码会从我的桌面导入x
开始logging.py
?实际上,仔细考虑一下这个问题后,logging.py
解释了为什么它会中断。我正在调用influxdb
,influxdb
正在调用logging
,它位于我从中调用influxdb
的同一文件夹中。。。XDB感到困惑,试图使用我桌面上的logging.py
。我觉得自己很愚蠢。
C:\Users\admin\Desktop>cd..
C:\Users\admin>python
Python 2.7.14 (v2.7.14:84471935ed, Sep 16 2017, 20:25:58) [MSC v.1500 64 bit (AM
D64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', 'C:\\scoop\\apps\\python27\\current\\python27.zip', 'C:\\scoop\\apps\\pytho
n27\\current\\DLLs', 'C:\\scoop\\apps\\python27\\current\\lib', 'C:\\scoop\\apps
\\python27\\current\\lib\\plat-win', 'C:\\scoop\\apps\\python27\\current\\lib\\l
ib-tk', 'C:\\scoop\\apps\\python27\\current', 'C:\\scoop\\apps\\python27\\curren
t\\lib\\site-packages']
>>> ^Z