從JMP啟動時,Python matplotlib導入dll錯誤我有一個從matplotlib導入pyplot的python腳本。當我在JMP之外的任何情況下運行這個python腳本時(從Spyder IDE內部或僅通過Windows命令行),它運行得很好。但是當我使用JMP的Run Program功能啟動它時,或者甚至只是使用OPEN啟動它時,它會導致導入錯誤(見下文)。
我已經從matplotlib縮小了ft2font的導入錯誤,我可以在JMP中復制它:
Names Default To Here( 1 );
RP = RunProgram(
Executable( "python.exe" ),
Options( {"-c \!"from matplotlib import ft2font\!""} ),
ReadFunction( Function( {this}, Write( this << read ) ) )
);
這是錯誤:
RunProgram( /*object*/ )Traceback (most recent call last):
File "", line 1, in
ImportError: DLL load failed: The specified procedure could not be found.
再次,如果我打開命令提示符並從matplotlib import ft2font運行python.exe -c“,我沒有錯誤。JMP搞砸python包導入會怎麼樣?有一個非常相似的問題( 看這裡 )一些matplotlib用戶一般都使用font_manager.py中的導入,但是那些人在任何情況下都不能使用它,對我來說只有在JMP內部調用時才會這樣。
Re:從JMP啟動時,Python matplotlib導入dll錯誤好的,我解決了這個,這是JMP的錯。
在JMP安裝中有一個zlib.dll,因為JMP在啟動windows命令之前將自己添加到PATH,python發現zlib.dll之前發現了生活在C:\ Anaconda3 \ Library \ bin \ zlib的zlib.dll .dll即使您首先通過批處理文件更改了目錄。
我必須創建一個批處理文件,首先更改JMP之外的目錄(cmd窗口啟動的位置),使用set命令從路徑中刪除JMP,然後啟動我的python腳本,如下所示
cd c:\
set PATH=%PATH:C:\Program Files\SAS\JMPPRO\14;=%
pythonw.exe "my_gui_app.py"
我的python應用程序現在使用jsl Run Program命令調用批處理文件從JMP按鈕啟動。
Re:從JMP啟動時,Python matplotlib導入dll錯誤嗯。我不知道那可能是什麼。但是,我正在運行一個vanilla Python安裝而不是一個Anaconda發行版。
ver = "Python 3.6.4";
Re:從JMP啟動時,Python matplotlib導入dll錯誤在JMP中使用您提供的代碼和命令行,我得到相同的版本:
ver =“Python 3.6.6 :: Anaconda custom(64-bit)”;
Re:從JMP啟動時,Python matplotlib導入dll錯誤你用的是什麼版本的python?
我在使用Python 2.7運行腳本時收到了錯誤消息,但在Python 3.6中沒有。 我在JMP和命令行中都獲得了相同的行為。
如果您有多個python安裝,則可以使用以下腳本檢查JMP正在使用的版本。如果它沒有使用預期的版本,您可能需要提供python可執行文件的完整路徑。
ver = Trim(
Run Program(
Executable( "python.exe" ),
Options( "--version" ),
Read Function( "text" )
)
);
Show( ver );