python - CONDA Base Env 加载错误/NUMPY: ImportError: DLL load failed
问题描述
刚刚安装了 minicondaC:\Anaconda 3
并运行conda install numpy
了 Anaconda shell(默认为 conda base 作为 env)。
如果我运行 Anaconda 命令提示符并键入python >> import numpy
all 工作正常。
如果我打开一个普通的命令窗口并c:\Anaconda3
运行python >> import numpy
它会失败(下面的错误)。
我已经检查过了sys.path
,它们在两个 CMD 窗口上都是一样的。唯一的解决方案是在正常的 CMD 窗口上运行:c:\Anaconda3\Scripts\conda activate base
然后运行python >> import numpy
.
我过去安装过没有这个问题的 Miniconda,所以我很惊讶突然不得不激活环境。我认为默认情况下会加载基本环境,但似乎情况并非如此,我必须强制这样做。
我得到的错误是:
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Anaconda3\lib\site-packages\numpy\__init__.py", line 140, in <module>
from . import _distributor_init
File "c:\Anaconda3\lib\site-packages\numpy\_distributor_init.py", line 34, in
<module>
from . import _mklinit
ImportError: DLL load failed: The specified module could not be found.
我发现我可以从命令行运行:C:\Anaconda3\python.exe C:\Anaconda3\cwp.py C:\Anaconda3 C:\Anaconda3\python.exe
然后运行import numpy
,这样就可以了。cwp.py 文件如下:
# this script is used on windows to wrap shortcuts so that they are executed within an environment
# It only sets the appropriate prefix PATH entries - it does not actually activate environments
import os
import sys
import subprocess
from os.path import join, pathsep
from menuinst.knownfolders import FOLDERID, get_folder_path, PathNotFoundException
# call as: python cwp.py PREFIX ARGs...
prefix = sys.argv[1]
args = sys.argv[2:]
new_paths = pathsep.join([prefix,
join(prefix, "Library", "mingw-w64", "bin"),
join(prefix, "Library", "usr", "bin"),
join(prefix, "Library", "bin"),
join(prefix, "Scripts")])
env = os.environ.copy()
env['PATH'] = new_paths + pathsep + env['PATH']
env['CONDA_PREFIX'] = prefix
documents_folder, exception = get_folder_path(FOLDERID.Documents)
if exception:
documents_folder, exception = get_folder_path(FOLDERID.PublicDocuments)
if not exception:
os.chdir(documents_folder)
sys.exit(subprocess.call(args, env=env))
PS:如果你想知道“如果你可以简单地激活基地,为什么需要这个”?例如,当使用 xlwings 时,脚本会调用 python.exe(无需先激活环境,即使我认为在根文件夹上使用 python.exe 意味着您不需要激活基本环境)。这很麻烦,因为我在尝试加载 numpy 时遇到错误。
谢谢!
解决方案
推荐阅读
- c# - Azure 函数/API 套接字异常
- python - 有没有办法在 matplotlib 图例中打印矩阵?
- neural-network - 使用 Soft-Actor Critic (SAC) 评估和更改在 RL 训练中使用的神经结构
- javascript - 应该从前端还是后端进行频繁的外部 API 调用?
- angular - 如何处理覆盖现有翻译的 Angular 11 extract-i18n?
- arrays - 遍历对时如何克服 IndexOutOfBounds 异常
- python - 使用 pandas to_sql 的 if_exists='replace' 将表替换为依赖项
- reactjs - 为什么我创建的每个元素都会被立即删除?
- python - 为什么 OpenCV 和 Matplotlib 在更新显示时会强制延迟?
- android - 在 IOS 中颤振视频流错误,而在 android 设备中工作正常