Traceback (most recent call last):
File "site-packages\pandas\__init__.py", line 26, in <module>
File "C:\Users\adas\AppData\Local\Continuum\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pandas\_libs\__init__.py", line 4, in <module>
File "C:\Users\adas\AppData\Local\Continuum\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname)
File "pandas\_libs\tslibs\conversion.pxd", line 11, in init pandas._libs.tslib
File "C:\Users\adas\AppData\Local\Continuum\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname)
File "pandas\_libs\tslibs\conversion.pyx", line 1, in init pandas._libs.tslibs.conversion
ModuleNotFoundError: No module named 'pandas._libs.tslibs.np_datetime'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "fetchall2.py", line 5, in <module>
import pandas as pd
File "C:\Users\adas\AppData\Local\Continuum\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__)
File "site-packages\pandas\__init__.py", line 35, in <module>
ImportError: C extension: No module named 'pandas._libs.tslibs.np_datetime' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.
[283516] Failed to execute script fetchall2
我正在尝试执行我编写的python脚本。该脚本应根据matplotlib创建的图创建一个PNG文件。当我在spyder IDE上运行它时,它可以正常工作,但是当我使用PyInstaller构建它时,它会失败。
使用这些进口
import MySQLdb
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
matplotlib.use('Agg')
import pandas as pd
from sklearn.preprocessing import Imputer, LabelEncoder, OneHotEncoder, StandardScaler
from sklearn import svm
from sklearn.cross_validation import train_test_split
from sklearn.linear_model import LinearRegression
我尝试遵循Petr Szturc's Method,并创建了一个hooks-pandas.py文件,并使用了hiddenimports = ['pandas._libs.tslibs.tslibs.np_datetime']
,但是继续获得相同的追溯。
Anaconda 4.5.11
Python 3.6
答案 0 :(得分:0)
我认为我过去也有同样的错误。
我的项目中有一个pyinstaller_hooks
目录,文件hook-pandas.py
带有以下代码:
from PyInstaller.utils.hooks import collect_submodules
hiddenimports = collect_submodules('pandas._libs.tslibs')
然后在运行PyInstaller时,我将目录传递到--additional-hooks-dir
:
pyinstaller --additional-hooks-dir pyinstaller_hooks your_python_file.py
这使您很容易识别我对钩子所做的更改,而不是将它们混合到PyInstaller文件夹中,并且还将它们检入任何git repo中。我认为这比链接中建议的方法干净得多。