python - cx_Freeze 如何避免软件包安装在 lib 文件夹中?
问题描述
当我构建安装程序并安装应用程序时,它会安装lib
文件夹中的所有包,而我的代码是从当前目录中选择导入 not lib
。
如何使包与可执行文件位于同一目录中?
下面是我的脚本:
from cx_Freeze import setup, Executable
buildOptions = dict(excludes = ["tkinter"], includes =["idna.idnadata"], optimize=1)
setup(name = "SoftwareGateway" ,
version = "0.1" ,
description = "" ,
options =dict(build_exe = buildOptions),
executables = [Executable("main.py", base = base)])
解决方案
据我了解,您所要求的不能用cx_Freeze 5.1.1
(当前版本)或5.1.0
.
您可以使用以前的稳定版本cx_Freeze 5.0.2
,它不会将包冻结到子目录lib
中。要降级到此cx_Freeze
版本,请运行
python -m pip install cx_Freeze==5.0.2
在一个cmd
终端。
但是我实际上不明白为什么将包冻结到子目录中应该是一个无法克服的问题lib
,除非是非常特殊的情况。我建议您lib
通过使用__file__
包的属性而不是更改cx_Freeze
版本来让您的代码从子目录中选择导入。
推荐阅读
- javascript - 在 nashorn 中将 html 解码的字符串转换为人类可读的字符串
- javascript - 两个星期之间的日期名称缩写js
- swift - Twitch API 登录。Safari 重定向我
- javascript - 如何使用javascript以以下格式合并两个对象数组
- python - 如何从 imblearn 中的 RandomUnderSampler 获取样本索引
- powershell - PowerShell 别名在选项卡完成期间看不到参数
- tensorflow - GAN 生成的图像中出现这种奇怪的噪音是有原因的吗?
- r - 如何将所有为零的值更改为另一个数字?
- r - 连续向R中的数据框添加列
- python - 如何在 Pygame 窗口周围设置边界/障碍?