Я пытаюсь построить importScript для OriginPro2018. Скрипт работает, если я запускаю его с Anaconda / Spyder 3.3.1 и Python 3.7. Все 64-битные и моя ОС win10. Если я запускаю его из Origin (что мне нужно, чтобы импортировать данные в конце), я застреваю при импорте Numpy.
Поскольку Origin не знает, где находятся мои библиотеки, мой скрипт начинается с:
import sys
if not "C:\\Users\\sommer\\AppData\\Local\\Continuum\\anaconda3\\Lib\\site-packages" in sys.path:
PkPath = "C:\\Users\\sommer\\AppData\\Local\\Continuum\\anaconda3\\Lib\\site-packages"
sys.path.append(PkPath)
, который говорит ему, где искать и работает как задумано (на основе шага 4 здесь: http://blog.originlab.com/programming/get-access-to-external-python-packages-with-origins-embedded-python).
В следующей строке я импортирую Numpy:
import numpy as np
который бросает
Traceback (most recent call last):
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\core\__init__.py", line 16, in <module>
from . import multiarray
ImportError: cannot import name 'multiarray'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "\\hhi.de\abteilung\PC\PC-LAS\A_Users\Studenten\Milo Sommer\OriginImport\Import_Origin.py", line 15, in <module>
import numpy as np
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import add_newdocs
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\lib\__init__.py", line 8, in <module>
from .type_check import *
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\lib\type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "C:\Users\sommer\AppData\Local\Continuum\anaconda3\Lib\site-packages\numpy\core\__init__.py", line 26, in <module>
raise ImportError(msg)
ImportError:
Importing the multiarray numpy extension module failed. Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control). Otherwise reinstall numpy.
Original error was: cannot import name 'multiarray'
Попытка погуглить эту ошибку приводит ко многим потокам о испорченных numpy установках, но я не верю, что это так, поскольку она работает в Spyder.
Мои идеи:
- Я использую Python 3.7, Origin использует 3.5. Так как проблема неразборчива, это кажется маловероятным.
- Моя версия Anaconda Numpy 1.15.1 является новой для Python 3.5. Я попытался установить вторую более старую версию Numpy, но мне трудно, потому что numpy уже установлен, и pip, таким образом, не хочет.
Буду признателен за любую помощь.