gpt4 book ai didi

python-3.x - 如何修复在 CMD get 的 DLL 错误中启动但在 Pycharm 和 Anaconda Comand Promt 中运行的 Python 脚本

转载 作者:行者123 更新时间:2023-12-04 15:43:46 26 4
gpt4 key购买 nike

我想通过批处理文件在 cmd 中运行 python 脚本。该脚本因 numpy 导入的 dll 加载错误而失败。相同的 python 脚本在 pycharm(2019 Anaconda 版本)和 anaconda 命令提示符中运行,没有错误。

我都使用相同的 anaconda 环境。

用于错误重现

  1. 安装Anaconda,不要设置任何路径变量
  2. 创建一个不存储在默认文件夹中的环境
  3. conda 创建 --prefix
  4. 畅达激活
  5. conda 安装 numpy flask6.测试代码。测试-numpy.py
import numpy as np
print(np.abs([1,2-4,6]))

创建批处理脚本运行批处理脚本

在 cmd 中运行只有系统导入或没有导入的 python 脚本都可以正常工作。在 Windows 中设置 pythonpath 变量是没有选择的。到目前为止我做了什么:检查是否有PATH错误:我通过 Pycharm 和通过 CMD 运行的相同 python 脚本打印了 sys.path,结果相同:它指向我的 anaconda 环境和文件夹:...\(环境本身)...\python37.zip...\DLL...\库...\lib\site-packages

编辑

Tested in Visual Studio Code, gives same Error as running via cmd

  • 直到现在才发现 Visual Studio Coda,无法处理 conda 环境,即使用 -p 或 -prefix 安装且未存储在默认路径中

卸载并重新安装 numpy测试导入另一个模块:Flask 也因 DDL 加载错误而失败,但在 Pycharm 中运行时工作正常。在另一台具有不同 anaconda 版本的 PC 上进行测试。另一个人可能会重现我遇到的相同错误。

我的猜测是我的代码在 cmd 中失败了,因为 anacona 环境需要以某种方式事先激活并且不能独立运行。

我在 CMD 中运行脚本时出现的错误消息(...指向我的 anaconda 环境路径):

...\lib\site-packages\numpy\core__init__.py", line 40, in from . import multiarray ...\lib\site-packages\numpy\core\multiarray.py", line 12, in from . import overrides ...\lib\site-packages\numpy\core\overrides.py", line 6, in from numpy.core._multiarray_umath import ( ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last): "TestNumpy.py", line 14, in import numpy as np ...\lib\site-packages\numpy__init__.py", line 142, in from . import core ...\lib\site-packages\n umpy\core__init__.py", line 71, in raise ImportError(msg) ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the multiarray numpy extension module failed. Mostlikely you are trying to import a failed build of numpy. Here is how to proceed: - If you're working with a numpy git repository, try git clean -xdf (removes all files not under version control) and rebuild numpy. - If you are simply trying to use the numpy version that you have installed: your installation is broken - please reinstall numpy. - If you have already reinstalled and that did not fix the problem, then: 1. Check that you are using the Python you expect and that you have no directories in your PATH or PYTHONPATH that can interfere with the Python and numpy versions you're trying to use. 2. If (1) looks fine, you can open a new issue at https://github.com/numpy/numpy/issues. Please include details on: - how you installed Python - how you installed numpy - your operating system - whether or not you have multiple versions of Python installed - if you built from source, your compiler versions and ideally a build log

 Note: this error has many possible causes, so please don't comment on
an existing issue about this - open a new one instead.

Original error was: DLL load failed: Das angegebene Modul wurde nicht gefunden.

最佳答案

我没有找到其他解决方案,似乎需要在通过 conda 调用脚本之前真正激活 conda 环境:

call <file_path>/Anaconda/Scripts/activate.bat <file_path/Anaconda_enviorment> && python <file_path/pythonscript.py>

关于python-3.x - 如何修复在 CMD get 的 DLL 错误中启动但在 Pycharm 和 Anaconda Comand Promt 中运行的 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56752266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com