导入错误:没有名为“camelot.admin.application_admin”的模块

问题描述

我正在创建一个简单的自动化应用程序来提取每周的 pdf 文件,以便使用 PyQt6 和 Camelot-py 为我的公司带来出色的表现。我希望将此可执行文件安装到其他计算机上,以便同事可以随时运行该程序。但是,当我想使用 cx_freeze 方法将 .py 脚本转换为 exe 时,出现错误

  File "setup.py",line 14,in <module>
setup(
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\dist.py",line 
397,in setup
distutils.core.setup(**attrs)
File "C:\Program Files\python38\lib\distutils\core.py",line 148,in setup
dist.run_commands()
File "C:\Program Files\python38\lib\distutils\dist.py",line 966,in run_commands
self.run_command(cmd)
File "C:\Program Files\python38\lib\distutils\dist.py",line 985,in run_command
cmd_obj.run()
File "C:\Program Files\python38\lib\distutils\command\build.py",line 135,in run
self.run_command(cmd_name)
File "C:\Program Files\python38\lib\distutils\cmd.py",line 313,in run_command
self.distribution.run_command(command)
File "C:\Program Files\python38\lib\distutils\dist.py",in run_command
cmd_obj.run()
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\dist.py",line 
265,in run
freezer.Freeze()
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\freezer.py",line 
795,in Freeze
self.finder: ModuleFinder = self._GetModuleFinder()
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\freezer.py",line 
479,in _GetModuleFinder
finder.IncludePackage(name)
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\finder.py",line 
687,in IncludePackage
self._import_all_sub_modules(module,deferred_imports)
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\finder.py",line 
220,in _import_all_sub_modules
self._import_all_sub_modules(
File "C:\Users\User\AppData\Roaming\Python\python38\site-packages\cx_Freeze\finder.py",line 
214,in _import_all_sub_modules
raise ImportError(
ImportError: No module named 'camelot.admin.application_admin'

代码可以完美运行。任何帮助,将不胜感激。非常感谢。

解决方法

运行以下命令:

pip3 install camelot-py[all]
pip  install camelot
pip  install PyQt6

在您的代码中导入:

import camelot
import sqlalchemy
import PyQt6

检查版本:

print(camelot.__version__)
print(sqlalchemy.__version__)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...