python - 是否可以使用pip模块在python 3项目上使用cx_freeze?

原文 标签 python python-3.x pip cx-freeze

我正在为我正在编写的一个更大的程序编写一个安装程序,我正在使用cxfreeze将其转换为一个可执行文件,但是,当我运行.exe文件时,它会崩溃,并出现“import pip”一行(如下所示),所以基本上我的问题是:是否可以在导入了pip的应用程序上使用cxfreeze?
编辑:
以下是我正在使用的所有文件:
setup.py(v1):

from cx_Freeze import *
import os, pip
setup(name=("ARTIST"),
      version = "1",
      description = "ARTIST installation file",
      executables = [Executable("Install ARTIST.py"), Executable("C:\\Python34\\Lib\\site-packages\pip\\__init__.py")],
      )

这会导致错误:
enter image description here
安装程序.py(V2):
from cx_Freeze import *
import os, pip
setup(name=("ARTIST"),
      version = "1",
      description = "ARTIST installation file",
      executables = [Executable("Install ARTIST.py"],
      options = {"build_exe": {"packages":[pip]}}
      )

这会在setup.bat文件中出现错误:
enter image description here
编辑:
如果有人想查看我发布更大程序的网站,请点击以下链接:
alaricwhitehead.wix.com/artist
编辑2:
这是使用py2exe时出现的错误:
enter image description here
编辑3:
这是代码的副本:
https://www.dropbox.com/s/uu46iynm8fr8agu/Install%20ARTIST.txt?raw=1
请注意:我不想发布链接到它,但它太长,不能直接发布。

最佳答案

安装脚本中有两个问题。第一个问题是,您在packages命令的build_exe选项下指定了要包含在冻结的应用程序中的额外模块:packages用于指定需要包含的应用程序包,对于需要使用pip的外部模块(如includes)。第二个问题是,您需要传递给includes一个模块字符串列表,而不是模块本身:

setup(
    name=("ARTIST"),
    version="1",
    description="ARTIST installation file",
    options={
        'build_exe': {
            'excludes': [], # list of modules to exclude
            'includes': ['pip'], # list of extra modules to include (from your virtualenv of system path),
            'packages': [], # list of packages to include in the froze executable (from your application)
        },
    },
    executables=[
        Executable(
            script='run.py', # path to the entry point of your application (i.e: run.py)
            targetName='ARTIST.exe', # name of the executable
        )
    ]
)

相关文章:

python - 累计和至阈值

python - 如何在Mac OS X上查找所有python安装并卸载除本机OS X以外的所有安装

python - 如何将单个CSV文件切成按字段分组的几个较小文件,并删除最终csv中的列?

python - wxPython:程序启动时自动执行事件功能

python - 将int32转换为其他类型时的精度

python - pip install scikit-image出错

python - 没有模块psutil.error

python - 用Python计算图的连接部分的算法

python - TypeError:不可散列的类型:添加计数变量时的'list',无需使用?

python - 在python中实现热甲板插补