簡體   English   中英

是否可以使用pip模塊在python 3項目上使用cx_freeze?

[英]Is it possible to use cx_freeze on a python 3 project using the pip module?

我正在編寫一個我正在編寫的更大程序的安裝程序,我正在使用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")],
      )

這會帶來錯誤: 在此輸入圖像描述

setup.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文件中出現錯誤: 在此輸入圖像描述

編輯:如果有人想查看我發布更大程序的網站,請點擊鏈接: alaricwhitehead.wix.com/artist

Edit2:這是我使用py2exe時得到的錯誤: 在此輸入圖像描述

Edit3:這是代碼的副本: https ://www.dropbox.com/s/uu46iynm8fr8agu/Install%20ARTIST.txt?raw = 1

請注意:我不想發布鏈接,但直接發布太長了。

您的安裝腳本中有兩個問題。 第一個問題是您在build_exe命令的packages選項下指定了要包含在凍結應用程序中的額外模塊: 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
        )
    ]
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM