zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
U
G=®dž>ã@stdZddlZddlZddlZddlmZddlmZddlm    Z    ddl
Tddl m Z ddl mZGd    d
„d
eƒZdS) zzdistutils.command.bdist_wininst
 
Implements the Distutils 'bdist_wininst' command: create a windows installer
exe-program.éN)ÚCommand)Ú get_platform)Ú remove_tree)Ú*)Úget_python_version)Úlogc sšeZdZdZddddeƒfdddd    d
d d d dddg ZddddgZejdkZ    ‡fdd„Z
dd„Z dd„Z dd„Z dd„Zd'd!d"„Zd#d$„Zd%d&„Z‡ZS)(Ú bdist_wininstz-create an executable installer for MS Windows)z
bdist-dir=Nz1temporary directory for creating the distributionz
plat-name=Úpz;platform name to embed in generated filenames (default: %s))ú    keep-tempÚkzPkeep the pseudo-installation tree around after creating the distribution archive)ztarget-version=Nz6require a specific python version on the target system)úno-target-compileÚcz/do not compile .py to .pyc on the target system)úno-target-optimizeÚoz;do not compile .py to .pyo (optimized) on the target system)z    dist-dir=Údz-directory to put final built distributions in)zbitmap=Úbz>bitmap to use for the installer instead of python-powered logo)ztitle=Útz?title to display on the installer background instead of default)ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zinstall-script=NzUbasename of installation script to be run after installation or before deinstallation)zpre-install-script=Nz{Fully qualified filename of a script to be run before any files are installed.  This script need not be in the distribution)zuser-access-control=NzŠspecify Vista's UAC handling - 'none'/default=no handling, 'auto'=use UAC if target Python installed for all users, 'force'=always use UACr
r rrÚwin32cs tƒj||Žt dtd¡dS)Nz^bdist_wininst command is deprecated since Python 3.8, use bdist_wheel (wheel packages) insteadé)ÚsuperÚ__init__ÚwarningsÚwarnÚDeprecationWarning)ÚselfÚargsÚkw©Ú    __class__©úbD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\setuptools/_distutils/command/bdist_wininst.pyr?s
þzbdist_wininst.__init__cCsRd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
d|_ d|_ dS)Nr) Ú    bdist_dirÚ    plat_nameÚ    keep_tempÚno_target_compileÚno_target_optimizeÚtarget_versionÚdist_dirÚbitmapÚtitleÚ
skip_buildÚinstall_scriptÚpre_install_scriptÚuser_access_control)rr r r!Úinitialize_optionsEsz bdist_wininst.initialize_optionscCsâ| dd¡|jdkrR|jr6|jr6|j d¡}|j|_| d¡j}tj     
|d¡|_|j s^d|_ |js˜|j  ¡r˜t ƒ}|j r’|j |kr’td|fƒ‚||_ | ddd¡|jrÞ|jjD]}|jtj     |¡kr´qÞq´td|jƒ‚dS)    NÚbdist)r+r+ZwininstÚzMtarget version can only be %s, or the '--skip-build' option must be specified)r(r()r#r#z(install_script '%s' not found in scripts)Úset_undefined_optionsr"r+r#Ú distributionÚget_command_objÚget_finalized_commandÚ
bdist_baseÚosÚpathÚjoinr'Úhas_ext_modulesrÚDistutilsOptionErrorr,ÚscriptsÚbasename)rr0r6Z short_versionÚscriptr r r!Úfinalize_optionsUs> 
   ÿÿþ ÿÿzbdist_wininst.finalize_optionsc Csîtjdkr&|j ¡s|j ¡r&tdƒ‚|js6| d¡|jddd}|j    |_
|j|_d|_ |j |_ | d¡}d|_ d|_|j ¡rÚ|j}|s¬|jsštd    ƒ‚d
tjdd …}d |j |f}| d¡}tj |jd |¡|_dD],}| ¡}|dkrú|d}t|d||ƒqÞt d|j    ¡| ¡tj dtj |j    d¡¡| ¡tjd=ddlm }|ƒ}    |j !¡}
|j"|    d|j    d} | #| |
|j$¡|j ¡ržt%ƒ} nd} |jj& 'd| | (|
¡f¡t )d| ¡t *| ¡|j+sêt,|j    |j-ddS)Nrz^distribution contains extensions and/or C libraries; must be compiled on a Windows 32 platformÚbuildÚinstallé)Úreinit_subcommandsrÚ install_libz Should have already checked thisz%d.%drz.%s-%sÚlib)ÚpurelibÚplatlibÚheadersr<ÚdatarHz/Include/$dist_nameÚinstall_zinstalling to %sZPURELIB)ÚmktempÚzip)Úroot_dirÚanyrzremoving temporary file '%s')Údry_run).ÚsysÚplatformr3r:Úhas_c_librariesÚDistutilsPlatformErrorr+Ú run_commandÚreinitialize_commandr"ÚrootÚwarn_dirr#ÚcompileÚoptimizer'ÚAssertionErrorÚ version_infor5r7r8r9Ú
build_baseÚ    build_libÚupperÚsetattrrÚinfoÚensure_finalizedÚinsertÚrunÚtempfilerKÚ get_fullnameÚ make_archiveÚ
create_exer)rÚ
dist_filesÚappendÚget_installer_filenameÚdebugÚremover$rrO) rrArDr'Úplat_specifierr@ÚkeyÚvaluerKZarchive_basenameÚfullnameÚarcnameZ    pyversionr r r!rc{st
ÿþÿ
 
 
 
 
ÿþ 
ÿ  ÿ 
zbdist_wininst.runc CsZg}|jj}| d¡|jpdd}dd„}dD]B}t||dƒ}|r0|d| ¡||ƒf}| d|||ƒf¡q0| d    ¡|jr”| d
|j¡| d ||ƒ¡| d |j ¡| d |j ¡|j    rà| d|j    ¡|j
rö| d|j
¡|j p|j  ¡}| d||ƒ¡ddl }ddl}    d| |  ¡¡|    jf}
| d|
¡d |¡S)Nz
[metadata]r1Ú
cSs | dd¡S)Nrrz\n)Úreplace)Úsr r r!ÚescapeÙsz)bdist_wininst.get_inidata.<locals>.escape)ÚauthorÚ author_emailÚ descriptionÚ
maintainerÚmaintainer_emailÚnameÚurlÚversionz
    %s: %sz%s=%sz
[Setup]zinstall_script=%szinfo=%sztarget_compile=%dztarget_optimize=%dztarget_version=%szuser_access_control=%sztitle=%srzBuilt %s with distutils-%sz build_info=%s)r3ÚmetadatariÚlong_descriptionÚgetattrÚ
capitalizer,r%r&r'r.r*reÚtimeÚ    distutilsÚctimeÚ __version__r9) rÚlinesr~r`rur{rIr*r‚rƒZ
build_infor r r!Ú get_inidataÌs>
 ÿ
ÿzbdist_wininst.get_inidataNc
CsHddl}| |j¡| ¡}| |¡}| d|¡|r`t|dƒ}| ¡}W5QRXt|ƒ}    nd}    t|dƒÐ}
|
     | 
¡¡|rŒ|
     |¡t |t ƒr |  d¡}|d}|jræt|jddd    } |  ¡  d¡} W5QRX|| d
}n|d}|
     |¡| d d t|ƒ|    ¡} |
     | ¡t|dƒ}|
     | ¡¡W5QRXW5QRXdS) Nrz creating %sÚrbÚwbÚmbcsóÚrzlatin-1)Úencodings
z<iiii{V4)ÚstructÚmkpathr(r‡rjÚannounceÚopenÚreadÚlenÚwriteÚ get_exe_bytesÚ
isinstanceÚstrÚencoder-Úpack)rrqrpr)rŽZcfgdataÚinstaller_nameÚfZ
bitmapdataZ    bitmaplenÚfiler>Z script_dataÚheaderr r r!rgúsD 
 
 
 
 
ÿ
ý
 zbdist_wininst.create_execCsD|jr&tj |jd||j|jf¡}ntj |jd||jf¡}|S)Nz%s.%s-py%s.exez    %s.%s.exe)r'r7r8r9r(r#)rrpršr r r!rj1s
 ÿÿ
 ÿz$bdist_wininst.get_installer_filenamec    Cs$tƒ}|jrl|j|krl|jdkr&d}q¬|jdkr6d}q¬|jdkrFd}q¬|jdkrVd}q¬|jdkrfd    }q¬d
}n@zd d lm}Wntk
r”d
}YnX| d ¡d }|d}tj t    ¡}|j
dkrä|j
dd…dkrä|j
dd…}nd}tj  |d||f¡}t |dƒ}z | ¡W¢S|  ¡XdS)Nz2.4z6.0z7.1z2.5z8.0z3.2z9.0z3.4z10.0z14.0r)ÚCRT_ASSEMBLY_VERSIONÚ.z.0réÚwinr1zwininst-%s%s.exerˆ)rr'ÚmsvcrtržÚ ImportErrorÚ    partitionr7r8ÚdirnameÚ__file__r#r9r‘Úcloser’)    rZ cur_versionZbvržÚmajorÚ    directoryZsfixÚfilenamer›r r r!r•>s8    
 
 
 
 
 
 
 zbdist_wininst.get_exe_bytes)N)Ú__name__Ú
__module__Ú __qualname__rxrÚ user_optionsÚboolean_optionsrPrQZ _unsupportedrr/r?rcr‡rgrjr•Ú __classcell__r r rr!rs>ÿÿá%ÿ
 &Q.
7 r)Ú__doc__r7rPrÚdistutils.corerÚdistutils.utilrÚdistutils.dir_utilrÚdistutils.errorsÚdistutils.sysconfigrrƒrrr r r r!Ú<module>s