Имам странен вариант на често срещаната грешка „ImportError: DLL зареждането е неуспешно: %1 не е валидно Win32 приложение“. Получавам тази грешка само когато се опитвам да импортирам библиотека на трета страна, докато изпълнявам скрипт на python извън директорията python27. Например, ако направя „import numpy“, докато съм в python27, работи добре, но ако се опитам да импортирам numpy, докато съм в друга директория, получавам горната грешка. По същество мога да стартирам "python" във всяка директория, но мога да импортирам библиотеки на трети страни само ако го стартирам от директорията python27. Ако някой има идеи защо е така, ще бъда много благодарен. Ето малко информация за моите системни пътища.
Приложими системни пътища на Windows:
PYTHONPATH = C:\Python27\Lib
PYTHONHOME = C:\Python27
sys.path е равен на:
['', 'C:\Python27\Lib', 'C:\WINDOWS\SYSTEM32\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib\plat-win', 'C :\Python27\lib\libtk', 'C:\Python27', 'C:\Python27\lib\site-packages', 'C:\Python27\lib\site-packages\win32', 'C:\Python27\ lib\site-packages\win32\lib', 'C:\Python27\lib\site-packages\Pythonwin']
И ако стартирам win_add2path.py, получавам: Не е добавен път
PATH сега е: C:\Users\Mike\AppData\Local\Enthought\Canopy\User;C:\Users\Mike\AppData\Local\Enthought\Canopy\User\Scripts;C:\Python27;C:\Python27\ Скриптове
Разширено: C:\Users\Mike\AppData\Local\Enthought\Canopy\User;C:\Users\Mike\AppData\Local\Enthought\Canopy\User\Scripts;C:\Python27;C:\Python27\Scripts
Част от мен чувства, че пътят на Enthought Canopy го прецаква (тази директория вече не съществува), но пътят на Python27 също е там, така че не би трябвало да е проблем...
РЕДАКТИРАНЕ: Вярвам, че вече знам какво причинява проблема, но не и как да го поправя. Така че очевидно имаше python.exe в папката enthought canopy и това е този, който компютърът ми използваше, а не този в python27 (което е странно, защото деинсталирах enthought canopy). Компютърът ми обаче сега не може да намери python.exe в python27, въпреки че тази директория е добавена към моя системен път... Дава ми стария shindig „python не се разпознава като вътрешна или външна команда“.
Редактиране Е, рестартирах командния ред и сега той работи... Предполагам, че премахването на променливата на enthought canopy path все още не е повлияло.