Я на Windows 10 Pro 64-битной версии.
Я загружаю Anaconda3-2019.03-Windows-x86_64.exe с этой страницы: https://www.anaconda.com/distribution/
Я дважды щелкаю по файлу exe и следую инструкциям - я устанавливаю его по всей системе в C: \ ProgramData \ Anaconda3.
Я запускаю подсказку анаконды. Я создаю virtualenv с помощью conda create --name pythone37 python = 3.7. Я делаю Конда установить Numpy (например)
Тогда я получаю:
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
C:\Users\Alex Marshall\AppData\Roaming\Python\Python37\site-packages\numpy\.libs\libopenblas.JKAMQ5EVHIVCPXP2XZJB2RQPIN47S32M.gfortran-win32.dll
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\Alex Marshall\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 142, in <module>
from . import core
File "C:\Users\Alex Marshall\AppData\Roaming\Python\Python37\site-packages\numpy\core\__init__.py", line 24, in <module>
WinDLL(os.path.abspath(filename))
File "C:\Users\Alex Marshall\.conda\envs\python37\lib\ctypes\__init__.py", line 356, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 is not a valid Win32 application
Кажется, это происходит с любым пакетом, который вызывает внешние библиотеки C (я думаю, именно поэтому он использует WinDLL?). Также случается с Numba, например.
Этого не происходит с python3.6 или 32-битным питоном. Что дает? Это просто сломано на windows для 3.7 64bit?