【发布时间】:2019-05-21 20:53:59
【问题描述】:
通过命令行使用 python 时,我可以很好地导入模块。但是,当我在 SublimeText3 中构建 python 脚本时,某些模块不会导入。我通常会收到以下错误:
ImportError: DLL load failed: The specified module could not be found.
问题看起来涉及依赖于带有“_”前缀(_sqlite3,_ssl)的模块的模块。例如:
File "C:\ProgramData\anaconda3\Lib\sqlite3\__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "C:\ProgramData\anaconda3\Lib\sqlite3\dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: DLL load failed: The specified module could not be found.
系统:
Windows 10
SublimeText3(在故障排除过程中重新安装)
Python 3.7.3 [MSC v.1915 64 位 (AMD64)] :: Anaconda, Inc. on win32 (在故障排除过程中重新安装)
命令行和 ST3 都指向相同的 Python 实例。 这是机器上唯一的 python 安装。
已在 ST3 中使用默认 Python 构建并创建了新构建,两者都有相同的问题。
使用命令行时的结果:
Python 3.7.3 (default, Mar 27 2019, 17:13:21) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import plotly
>>>
ST3 中的结果:
import plotly
Traceback (most recent call last):
File "C:\Users\usr\Desktop\scrap.py", line 1, in <module>
import plotly
File "C:\ProgramData\anaconda3\Lib\site-packages\plotly\__init__.py", line 32, in <module>
from plotly import (
File "C:\ProgramData\anaconda3\Lib\site-packages\plotly\graph_objs\__init__.py", line 3, in <module>
from plotly.basedatatypes import BaseLayoutType as _BaseLayoutType
File "C:\ProgramData\anaconda3\Lib\site-packages\plotly\basedatatypes.py", line 25, in <module>
from .callbacks import (Points, InputDeviceState)
File "C:\ProgramData\anaconda3\Lib\site-packages\plotly\callbacks.py", line 2, in <module>
from plotly.utils import _list_repr_elided
File "C:\ProgramData\anaconda3\Lib\site-packages\plotly\utils.py", line 262, in <module>
from chart_studio.utils import *
File "C:\ProgramData\anaconda3\Lib\site-packages\chart_studio\__init__.py", line 2, in <module>
from chart_studio import (plotly, dashboard_objs, grid_objs, session)
File "C:\ProgramData\anaconda3\Lib\site-packages\chart_studio\plotly\__init__.py", line 10, in <module>
from . plotly import (
File "C:\ProgramData\anaconda3\Lib\site-packages\chart_studio\plotly\plotly.py", line 38, in <module>
from chart_studio.plotly import chunked_requests
File "C:\ProgramData\anaconda3\Lib\site-packages\chart_studio\plotly\chunked_requests\__init__.py", line 1, in <module>
from . chunked_request import Stream
File "C:\ProgramData\anaconda3\Lib\site-packages\chart_studio\plotly\chunked_requests\chunked_request.py", line 4, in <module>
import ssl
File "C:\ProgramData\anaconda3\Lib\ssl.py", line 98, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: DLL load failed: The specified module could not be found.
[Finished in 2.9s]
非常感谢任何帮助,这几天一直在坚持。
【问题讨论】:
-
也许 SublimeText 是 32 位应用程序?
-
我使用了以下安装程序:Sublime Text Build 3207 x64 Setup.exe
-
问题不太可能基于 Sublime 是 32 位还是 64 位,因为它所做的只是执行外部程序。是否需要设置一些可能没有通过 Sublime 正确传播的环境变量?
-
顺便说一句,感谢我们的回复。我在使用 ST3 时检查了 sys.path,其结果与使用命令行时相同。它指定 DLL 所在的目录。
-
@Odatnurd 我认为这可能与 ST3 使用的路径有关,不包括 DLL 所在的目录,但是当我查看 sys.path 时,它包括目录。在 ST 论坛上,您提到类似的问题可能与使用像 Anaconda 这样的 3rd 方构建有关。这可能是 ST3 选择 DLL 的原因吗?
标签: python anaconda sublimetext3