[英]I got ModuleNotFoundError: No module named 'Cython' when trying to make Extension
[英]Why do I have "ModuleNotFoundError: No module named 'scipy.special.cython_special'" when I don't even use cython?
我使用 pyinstaller 為 python 腳本生成可執行文件,在嘗試運行可執行文件時出現錯誤ModuleNotFoundError: No module named 'scipy.special.cython_special'
。 我不確定這是從哪里來的,或者如何解決它。 我的可執行文件接受一個參數並返回一個列表。 任何幫助表示贊賞!
凍結使用 scipy 版本 1.5.0 的程序后出現此錯誤,但我將版本更改為 1.4.1(我在早期的虛擬環境中使用過)並且錯誤消失了。
我遇到了同樣的錯誤,但不確定是什么原因導致它或為什么 pyinstaller 找不到該依賴項,但您可以通過將“scipy.special.cython_special”添加到您的 pyinstaller myapp.spec 文件來修復它,如下所示:
a = Analysis(['/Users/Name/path/to/mystartupfile.py'],
pathex=['/Users/Name/...'],
binaries=[],
datas=[('data')],
hiddenimports=['scipy.special.cython_special'],
hookspath=['/Users/Name..../hooks'],
runtime_hooks=[],
excludes=['IPython', 'FixTk', 'tcl', 'tk', '_tkinter', 'tkinter', 'Tkinter'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
我剛剛通過將cython_special.cp37-win_amd64.pyd
文件從MyEnv>Lib>site-packages>scipy>special
到已編譯的 pyinstaller 程序的同一目錄中來解決了這個問題。
我遇到了同樣的問題,原來我使用的是 Pyinstaller 不支持的 Python 3.8。 嘗試使用 3.7。
我也有這個問題。
正如@profTC所說,將scipy
package 降級到 1.4.1 解決了這個問題。
或者,可以升級到PyInstaller
4.0,他們添加了一個新的鈎子文件來處理這個問題。 請參閱: https://pyinstaller.readthedocs.io/en/v4.0/CHANGES.html#hooks
將--hidden-import="scipy.special.cython_special"
添加到您的 pyinstaller 命令中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.