【发布时间】:2021-01-26 19:26:06
【问题描述】:
我安装了 Anaconda(Anaconda3-2020.07-Windows-x86_64,python 3.8)。按照安装指南,我没有将 Anaconda 添加到 PATH 环境变量中。安装后使用Anaconda Prompt启动python时效果很好。
当我使用 Python Launcher 从 CMD 启动 python 时出现问题:
在 CMD 中,键入“py”以启动 python(Python 启动器能够找到 Anaconda python)。然后当我尝试导入numpy 时,出现以下错误:
Original error was: DLL load failed: The specified module could not be found.
当我尝试导入 sqlite3 时,出现以下错误:
ImportError: DLL load failed while importing _sqlite3: %1 is not a valid Win32 application
如果我使用 Anaconda Prompt 启动 python,我可以成功导入 numpy 和 sqlite3。我在这两种情况下检查了sys.path,它们完全一样。
为什么?这两种情况有什么区别?
附言
我担心这个问题,因为我使用“django + mod_wsgi + Apache”构建了一个网站,当从 brwoser 访问该网站时,该网站出现“内部服务器错误”。错误日志显示是由于导入numpy和sqlite3失败导致的,和上面的错误一样。
【问题讨论】:
-
这是整个错误输出吗?
-
不,我只是把整个输出的最后一行。我意识到这是由
path环境变量引起的问题,因为我没有将Anaconda 路径添加到path变量,所以python 解释器找不到一些dll 文件。但是当我使用旧的Anaconda(Anaconda3-2019.03-Windows-x86_64,python 3.6)时,我没有遇到这个问题,尽管Anaconda路径也没有添加到path变量中。我昨天重新安装了最新的Anaconda,然后问题就出现了。 -
但是当我使用旧的Anaconda(Anaconda3-2019.03-Windows-x86_64,python 3.6)时,我没有遇到这个问题,虽然Anaconda路径也没有添加到路径变量中. 那不是说明不是 路径环境变量引起的问题 吗?
-
我在普通CMD中运行
set path=C:\Anaconda3;C:\Anaconda3\Library\mingw-w64\bin;C:\Anaconda3\Library\usr\bin;C:\Anaconda3\Library\bin;C:\Anaconda3\Scripts;C:\Anaconda3\bin;C:\Anaconda3\condabin;%path%,然后运行py启动python。然后我可以导入 numpy 和 sqlite3。我认为这是路径问题。奇怪的是旧版本的 Anaconda 没有这个问题。我不知道为什么旧的 Andconda 可以找到那些 dll 文件。 -
这可能会导致一些问题。您应该考虑删除 Anaconda/Conda 的所有痕迹,然后从头开始重新安装。
标签: python anaconda conda python-import