我正在尝试使用 Windows 批处理文件来运行 python 代码,但是我遇到了以下错误:
Posted
技术标签:
【中文标题】我正在尝试使用 Windows 批处理文件来运行 python 代码,但是我遇到了以下错误:【英文标题】:I'm trying to use a windows batch file to run python code, however I am encountering the following errors: 【发布时间】:2021-08-07 01:51:04 【问题描述】:这是我主要试图开始工作的代码。当我在 Spyder (Python 3.8) 中运行它时它运行良好。但是,在运行 .bat 文件时,我收到以下错误消息。
urllib3.exceptions.SSLError: 无法连接到 HTTPS URL,因为 SSL 模块不可用。
我还尝试运行一段不太复杂的代码,但它也不起作用,它的错误消息如下。 (这现在有效,见下文)
ImportError: DLL load failed while importing _multiarray_umath: 找不到指定的模块。
我的 .bat 文件代码如下(我认为我的 .bat 文件代码很好,因为其中一个现在可以完美运行,所以这不是路径问题):
C:\Users\Thomas\Desktop\Coding\Python\Chess_Files>"C:\Users\Thomas\Anaconda3\python.exe" "C:\Users\Thomas\Desktop\Coding\Python\Python_Code\lichessAPI.py"
C:\Users\Thomas\Desktop\Coding\Python\Chess_Files>"C:\Users\Thomas\Anaconda3\python.exe" "C:\Users\Thomas\Desktop\Coding\Python\Python_Code\planetorbits.py"
更新: 通过使用 pip 卸载并重新安装 numpy 和 matplotlib,我能够使第二个 .bat 代码文件工作。但是,第一个 .bat 文件仍然遇到同样的错误。
有人建议我安装 openSSL,我不确定那是什么以及为什么我不能只使用 urllib3,因为当我自己在 anaconda 中运行代码时它可以工作。
最终更新: 我找到了一个解决方案并将其发布在下面。希望这会有所帮助。
【问题讨论】:
我建议比较运行 .bat 文件的命令工具中的环境和 Spyder 内部的环境,寻找 PATH、PYTHONPATH 等与定位模块有关的任何内容。 你贴的路径很好,应该是这样的。。你有OpenSSL
安装吗,如果没有,安装它。
我的建议是比较您使用的两个环境中 PATH 的值。
【参考方案1】:
我按照 Matt Dnv 的建议解决了这个问题:
Requests (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.") Error in PyCharm requesting website
我复制并粘贴了以下内容:
libcrypto-1_1-x64.*
libssl-1_1-x64.*
从 D:\Anaconda3\Library\bin 到 D:\Anaconda3\DLLs
【讨论】:
以上是关于我正在尝试使用 Windows 批处理文件来运行 python 代码,但是我遇到了以下错误:的主要内容,如果未能解决你的问题,请参考以下文章
为啥我无法在 Windows 10 中运行的詹金斯管道中运行批处理文件?