scipy包

时间:2018-05-05 15:20:38

标签: python scipy pyinstaller

我正在尝试使用以下命令创建一个exe文件:

pyinstaller -F myfile.py

我在No module named 'pandas._libs.tslibs.timedeltas' in PyInstaller上收到错误,并通过创建hook-pandas.py文件来解决问题,该文件中包含以下行,如该页面所述。

`hiddenimports = ['pandas._libs.tslibs.timedeltas']`

但现在我收到了以下错误:

...
  File "site-packages\scipy\optimize\_trlib\__init__.py", line 1, in <module>
  File "e:\0-anaconda\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
    module = loader.load_module(fullname)
  File "messagestream.pxd", line 5, in init scipy.optimize._trlib._trlib
ModuleNotFoundError: No module named 'scipy._lib.messagestream'
[4380] Failed to execute script myfile

按照与上面相同的模式,我创建了另一个名为hook-scipy.py的文件并在其中添加了以下行:

hiddenimports = ['scipy._lib.messagestream']

但错误仍然存​​在。问题在哪里以及如何解决?

(我在Windows 7操作系统上使用python版本3.6.4 Anaconda和pyinstaller版本3.3.1。)

1 个答案:

答案 0 :(得分:1)

我最近遇到了类似的问题,并指出:

cache.localSizeLong

还不够。指定以下内容后,至少能够解决我的问题:

private void initCache() {
    IgniteConfiguration configuration = new IgniteConfiguration();
    configuration.setIncludeEventTypes(EventType.EVT_CACHE_OBJECT_PUT);//Can take multiple

    CacheConfiguration cacheCfg = new CacheConfiguration("myCacheConfig");
    //https://apacheignite.readme.io/docs/cache-modes

    cacheCfg.setCacheMode(CacheMode.REPLICATED);

    System.out.println("Default cache mode:----" + cacheCfg.getCacheMode());
    log.debug("Default cache mode:----" + cacheCfg.getCacheMode());

    configuration.setCacheConfiguration(cacheCfg);
    cacheCfg.setCopyOnRead(false);
    cacheCfg.setBackups(0);


    Ignite ignite = Ignition.start(configuration);
    cache = ignite.getOrCreateCache("myIgniteCache");       
}

顺便说一句,这适用于macOS上的Python 3.6.1,PyInstaller 3.3.1和scipy 1.2.1。