Numpy importterror语言 - 动态模块没有定义模块导出函数(PyInit__multiarray_umath)



我试图在Python 3.10中导入最新版本的NumPy (v1.24.2截至今天)。我已经通过Python的内置venv模块设置了一个虚拟环境,然而,它抛出了以下导入错误:

Traceback (most recent call last):
File "C:\mypython\myvenv\lib\site-packages\numpy\core\__init __.py", line 23, in <module> from . import multiarray
File "C:\mypython\myvenv\lib\site-packages\numpy\core\multiarray.py", line10, in <module> from . import overrides
File "C:\mypython\myvenv\lib\site-packages\numpy\core\overrides-py", line 6, in <module> from numpy.core._multiarray_umath import (ImportError: dynamic module does not define module export function (PyInit__multiarray_umath)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C: \mypython\test \hello.py", line 19, in module› import numpy as np
File "C: \mypython myvenv\1ib\site-packages \numpy\_init_.py", line 141, in ‹module› from . import core
File "C: \mypython \myvenv \lib\site-packages \numpy\core\_init_.py“ raise ImportError (msg)
ImportError:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
please note and check the following:
- The Python version is: Python3.10 from "C: \mypython \myvenv\Scripts \python.exe"
- The NumPy version is: "1.24.2"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: dynamic module does not define module export function (PyInitmultiarray_umath)I have also attempted to import outside the virtual environment. This seems like a unique issue as I have not seen it elsewhere.

上面的响应包括一些解决NumPy导入错误的文档。根据本文档,请注意以下内容:

  1. Python SDK是由我公司的IT部门安装在这个目录C:Program FilesPython310。值得注意的是,这个设置在我的家用机器上运行得非常好,尽管使用的是Python 3.11。然而,根据NumPy的文档,这个设置应该仍然可以在Python 3.10中工作。

  2. 我通过pip (Python的内置包管理器)安装了NumPy

  3. 我的办公机器是Windows 64位操作系统

  4. 只安装了一个Python版本(Python 3.10)

  5. 我没有从源代码构建这个,所以披露编译器版本是不适用的

  6. 我不太熟悉环境变量re PATH和PYTHONPATH,所以鼓励任何建议。也就是说,我的虚拟环境的目录与其他关键目录(例如Python的系统安装)一起位于PATH中,然而,我注意到我的PYTHONPATH显示为& None"。也许这就是问题所在?

由于NumPy对我的工作至关重要,所以这是一个紧急情况,所以希望得到一些非常需要的建议,关于正在发生的事情。

对于那些想知道的人,我设法通过让我公司的IT部门安装具有管理员权限的Numpy来解决这个问题。

由于没有管理员权限,当我安装Numpy时,它被重定向并保存到站点-packages与系统站点包目录不同的目录。文件路径为C:UsersAppDataRoamingPython310Libsite-packages。我怀疑这不是在我的路径。

注意我的系统site-packages目录的文件路径位于Program Files这是一个特殊的Windows文件夹,需要管理员权限来修改(例如添加/删除文件)。因此,在没有管理员权限的情况下向Program files添加文件时(在我安装Numpy的情况下),这些文件将被重定向到前面提到的APPDATA目录。

供参考-如果你不能直接/间接访问管理员权限,那么我建议通过Anaconda安装Python,这是一个Python发行版,将在系统安装时预装Numpy和其他流行的库。

最新更新