【问题标题】:exe file created by pyinstaller: scipy 'list' object has no attribute 'join' problem由 pyinstaller 创建的 exe 文件:scipy 'list' object has no attribute 'join' 问题
【发布时间】:2020-11-11 17:14:59
【问题描述】:

我遇到了问题。我用 PyQt5、numpy、scipy、redis 等创建了一个应用程序。用 python 控制台运行没有问题。有用。但是当我使用pyinstaller制作一个exe文件并运行它时,我有很多错误。

我第一次拥有;

(haydars_env) C:\Users\haydarc\analysis_result>dist\app.exe
Traceback (most recent call last):
  File "app.py", line 18, in <module>
    from scipy import stats
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "c:\users\haydarc\.conda\envs\haydars_env\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\scipy\__init__.py", line 136, in <module>
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "c:\users\haydarc\.conda\envs\haydars_env\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 627, in exec_module
    exec(bytecode, module.__dict__)
  File "site-packages\scipy\_distributor_init.py", line 61, in <module>
  File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 170, in __init__
  File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line 133, in _frozen_name
AttributeError: 'list' object has no attribute 'join'
[7028] Failed to execute script app

第二次了;

我从谷歌读到,有人说这可能是 numpy 问题。于是我卸载重装,没有任何区别。我安装了 numpy+mkl,我有 dll 错误。

我也试过用fbs,还是没区别。

有人可以帮我吗?

注意:这是我的库;

from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QMainWindow, QPlainTextEdit

# from pandasmodel import PandasModel
# Other libraries
import sys as  os
import sys
import numpy as np
from scipy import stats
import pickle
import redis
import zlib
import pandas
from pandasmodel import PandasModel
from PyQt5.QtWidgets import QMessageBox
from gui import Ui_MainWindow

【问题讨论】:

    标签: python scipy pyqt pyqt5 pyinstaller


    【解决方案1】:

    问题来自import sys as osos 是另一个常用模块,许多库都在使用它。您遇到的错误来自os.path.join:scipy init 不是调用os.path 模块的join 方法,而是尝试访问join 属性的join 属性。只需将 sys 重命名为非流行名称即可。

    【讨论】:

    • 谢谢。顺便问一下,你为什么要重命名 sys ?
    • 老实说,这只是一个错误。你拯救了我的日子,再次感谢你..
    猜你喜欢
    • 2020-11-02
    • 2022-01-10
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 2014-07-13
    • 2013-09-11
    相关资源
    最近更新 更多