Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Python cx_冻结项目中的文件夹结构_Python_Cx Freeze - Fatal编程技术网

更改Python cx_冻结项目中的文件夹结构

更改Python cx_冻结项目中的文件夹结构,python,cx-freeze,Python,Cx Freeze,我制作了一个Python应用程序,我想构造一个exe文件来简化Windows用户之间的共享。我用过: Python 3.6.1 cx_冻结模块5.0.2 我得到了一个exe文件,但最终的结构让我哭了: 可执行文件 使用Python3.6压缩归档 3个DLL(python、sqlite、vcruntime) 21个文件夹 10个pyd文件 在我看来,这对用户来说并不方便,我希望将文件夹和pyd文件移动到单独的文件夹或归档中(这样会更好)。有人知道怎么做吗?当前build.py: from

我制作了一个Python应用程序,我想构造一个exe文件来简化Windows用户之间的共享。我用过:

  • Python 3.6.1
  • cx_冻结模块5.0.2
我得到了一个exe文件,但最终的结构让我哭了:

  • 可执行文件
  • 使用Python3.6压缩归档
  • 3个DLL(python、sqlite、vcruntime)
  • 21个文件夹
  • 10个pyd文件
在我看来,这对用户来说并不方便,我希望将文件夹和pyd文件移动到单独的文件夹或归档中(这样会更好)。有人知道怎么做吗?当前
build.py

from cx_Freeze import setup, Executable

setup(
    name = 'myapp',
    version = '0.1',
    executables = [Executable(
        script='__main__.py',
        targetName='myapp.exe',
        icon='myapp.ico'
    )]
)

我应该向我的
设置
功能添加哪些选项?在当前版本的Python和cx_中是否可以这样做?或者我应该像修补cx\U冻结一样吗?

我的问题在5.1版中几乎解决了。生成目录中只有5项:

  • 库文件夹
  • exe文件
  • 3个DLL(python36、sqlite、vcruntime)
这对我来说还可以,但exe文件不起作用。出现错误
ModuleNotFoundError:没有名为“codecs”的模块

答案已经找到了。当前版本(目前为5.1)中存在错误,但修补程序已经完成。不幸的是,PyPI中没有新版本(5.1.1)


然而,解决方案非常简单:从源代码构建
cx\u Freeze
。有人提到过。(需要Visual Studio,我用的是2013版)。或者您可以稍等片刻,我希望新版本很快就会出现在PyPI中。

我的问题在5.1版中几乎解决了。生成目录中只有5项:

  • 库文件夹
  • exe文件
  • 3个DLL(python36、sqlite、vcruntime)
这对我来说还可以,但exe文件不起作用。出现错误
ModuleNotFoundError:没有名为“codecs”的模块

答案已经找到了。当前版本(目前为5.1)中存在错误,但修补程序已经完成。不幸的是,PyPI中没有新版本(5.1.1)


然而,解决方案非常简单:从源代码构建
cx\u Freeze
。有人提到过。(需要Visual Studio,我用的是2013版)。或者您可以稍等片刻,我希望新版本很快就会出现在PyPI中。

cx\U Freeze 5.1.1同时也出现在PyPI中,请参阅;cx_Freeze 6.0b1既有预装版也有预装版

为了简化Windows用户之间的共享,您可以让cx_Freeze通过以下方式运行安装脚本来构建一个简单的安装程序:

python build.py bdist_msi


或者,为了使安装程序更加可定制,您可以使用基于脚本的工具,例如,在cx\u Freeze安装脚本之后运行生成脚本的安装程序。

cx\u Freeze 5.1.1同时位于PyPI中,请参阅;cx_Freeze 6.0b1既有预装版也有预装版

为了简化Windows用户之间的共享,您可以让cx_Freeze通过以下方式运行安装脚本来构建一个简单的安装程序:

python build.py bdist_msi

或者,为了使安装程序更加可定制,您可以使用基于脚本的工具,例如,在cx\U冻结安装脚本之后运行生成脚本的安装程序