[英]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]}}
)
編輯:如果有人想查看我發布更大程序的網站,請點擊鏈接: alaricwhitehead.wix.com/artist
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.