python - 如何使用 venv 内部的外部工具在 PyCharm 中为项目设置 PyInstaller?
问题描述
我在 PyCharm 中有一个项目,其中包含多个 Python 文件以及一些文本文件,我想通过 PyInstaller 将其导出到 .exe(我在 Win 7 上)。该项目使用通过 pip 安装的一些外部模块venv
(PyInstaller 就是其中之一)。
出于显而易见的原因,我想让事情保持简单并且不在venv
构建中使用任何模块。但是,当我尝试在项目文件夹上执行 PyInstaller 工具时,出现权限错误:PermissionError: [Errno 13] Permission denied
. 乍一看,在项目内部使用 PyInstallermain.py
可以很好地构建它,但运行 .exe 会cmd
显示error loading Python DLL
. 我该怎么做?有些东西告诉我应该事先创建规范以包含项目中使用的所有文件和模块。
解决方案
为了回答标题中的问题,您在 PyCharm 中指定的参数将在您执行工具时Arguments
传递给。pyinstaller.exe
所以它应该是文件的路径main.py
或路径.spec
,而不是$FilePath$
被当前在 PyCharm 中打开的文件替换的宏。
您绝对应该有一个.spec
致力于版本控制的文件。这使您的 PyInstaller 构建更加一致,并允许其他人轻松复制它们。请参阅https://pyinstaller.readthedocs.io/en/stable/spec-files.html
推荐阅读
- java - 无法在 spring 2.0.3 中解析 @RestController 注释
- python - Python:匹配两个文件中的两列
- vba - 水平列表作为 Excel-VBA 表单 ComboBox 的 ControlSource
- javascript - 如何在 NodeJS 中模拟 ES 模块?
- swift - 数据未连接到 tableView
- c# - 样板 WPF 应用程序无法在 Visual Studio 2017 中运行
- java - 无法获得 JDBC 连接;嵌套异常是 java.sql.SQLException: ORA-28040: No matching authentication protocol in Spring Batch
- c - 在没有 UAC 提示的情况下提高流程完整性
- asp.net-core - 使用 Kendo UI 实现服务器端分页的正确方法是什么?
- mysql - SQL:用假人填充有序字符串序列中的缺失