轻量级python 2.5-3.3启动器和切换器,适用于Windows命令行和MSYS/MINGW32。部分符合PEP 397规范。
项目描述
pywin 是适用于Windows命令行和MSYS/MINGW32的轻量级python 2.5-3.3启动器和切换器。它与python 3.3中可用的py.exe启动器/切换器类似,但使用基本的Windows批处理脚本和一个shell脚本来支持MSYS/MINGW32。我使用基于MSYS/MINGW32的bash和命令行shell工具msysgit,在Windows上进行大部分Python开发。
pywin 支持在PEP 397中定义的几个有用功能,例如命令行约定和源文件中的hash bang #! python版本标题。虽然pywin缺少py.exe的一些功能,但它具有基本的和它自己的一些额外功能。
要求
Windows >= XP以支持命令提示符
Windows >= Vista以支持MSYS/MINGW(需要mklink用于符号链接)
至少安装一个python 2.5到3.3的版本(尽管至少需要两个才有用)
easy_install,pip或git
安装
确保您想要pywin在其下运行的Python主安装已在PATH中。
在多个Python安装的情况下,建议只在PATH中包含一个安装的主目录和Scripts目录。例如,C:\Python27;C:\Python27\Scripts。
easy_install
easy_install pywin
pip
pip install pywin
从源安装
git clone git://github.com/davidmarble/pywin.git
cd pywin
python setup.py install
入门指南
# Assuming pywin was installed with Python27
C:\>pyassoc
HKEY_CURRENT_USER\Software\Classes python keys created successfully.
.py files will launch with "C:\Python27\pywin.bat"
C:\>pywin genlaunchers
Generating launchers...
C:\Python27\python2.7.bat -> C:\Python27\python.exe
C:\Python27\python2.6.bat -> C:\Python26\python.exe
C:\Python27\python2.5.bat -> C:\Python25\python.exe
C:\Python27\python3.0.bat -> C:\Python30\python.exe
C:\Python27\python3.1.bat -> C:\Python31\python.exe
C:\Python27\python3.2.bat -> C:\Python32\python.exe
C:\Python27\python3.3.bat -> C:\Python33\python.exe
C:\>pywin # launch first python found in PATH
C:\>pywin -2.7 # launch python 2.7
C:\>pywin setdefault 3.3
Setting default python for active session to: 3.3
C:\Python33;C:\Python33\Scripts -- now at front of PATH
# Create a test file with a specified python version in the header
C:\>echo #! /usr/bin/python2.7 > test.py
C:\>echo import sys;print("\n %s"%sys.exec_prefix) >> test.py
C:\>test.py
C:\Python27
C:\>pywin -3.2 test.py # launch test.py with python 3.2
C:\Python32
概述
pywin及其关联脚本安装在当前Python版本的根目录下(例如,C:\Python27)。无需在多个Python版本下安装它(如果这样做,您必须在每个安装的版本下运行pywin genlaunchers)。请确保此主Python目录始终在PATH中。或者,您可以将包含的脚本移动到PATH中的另一个目录。
自动生成特定版本的启动器
pywin可以创建单独的启动脚本,以直接访问核心Python安装(例如python2.7)。这些脚本可以直接从Windows命令提示符和MSYS/MINGW bash提示符下调用,带有或没有参数。要使用此功能,请调用
pywin genlaunchers
为Windows注册表中找到的所有全局和用户特定Python安装创建启动器。Windows批处理文件将添加到pywin所在的目录。MSYS/MINGW32依赖于使用mklink程序创建的Windows链接,因此您必须安装Windows >= Vista才能使用此项目。
使用pywin启动特定Python版本
pywin -2.7 # launch python 2.7
pywin -3.2 test.py # launch test.py with python 3.2
使用脚本头自动调用正确的Python
在源文件的第一行或第二行添加指令以调用正确的解释器。目前,此功能仅支持由pywin genlaunchers命令创建的Python启动器。要使用此功能,您必须使用包含的pyassoc实用程序将.py扩展名关联到pywin.bat。
pyassoc
pywin
注意: pywin命令在Windows命令行和MSYS/MINGW32 shell中均可使用。
genlaunchers
pywin genlaunchers
搜索Python安装并在pywin安装的同目录下创建批处理文件。
注意:如果您正在使用MSYS/MINGW32,则必须在MSYS/MINGW32 shell中再次运行此命令,并且您必须安装Windows >= Vista。
setdefault
pywin setdefault <version>
将默认Python设置为<major>.<minor>版本。将正确的Python主目录及其关联的Scripts目录添加到PATH的前面。从PATH中删除对任何其他现有Python Scripts目录的任何引用。
示例
# Existing PATH: C:\Windows\System32;C:\Windows;C:\Python27;C:\Python27\Scripts
pywin setdefault 3.3
# New PATH: C:\Python33;C:\Python33\Scripts;C:\Windows\System32;C:\Windows;C:\Python27;
# C:\Python27 is preserved so that pywin can be found.
pywin setdefault仅在当前的cmd.exe(或MSYS/MINGW32 shell)会话中有效。如果您想永久更改默认Python,则需要更改系统或用户PATH,并确保为该Python版本安装了pywin。
从MSYS/MINGW32调用此命令时,请先输入一个点,以便将$PATH的更改传播到您的活动shell。例如:. pywin setdefault 3.3
按版本和/或源启动
pywin [-<version>] [<source file>]
启动特定<major>.<minor>版本的Python,源文件,或两者。请注意,在命令行上指定Python版本将覆盖源文件头中的任何版本。
示例
# launch python 2.7
pywin -2.7
# launch test.py with python 3.2
pywin -3.2 test.py
# launch test.py according to Version Search Order below
pywin test.py
版本搜索顺序
pywin将在以下Python版本中启动第一个找到的版本:
在源文件前两行中的#!之后指定的任何版本。解释器将使用任何附加参数调用。
示例
#! python3.3 #! /usr/bin/python2.7 -v
如果设置了环境变量VIRTUAL_ENV,则使用该虚拟环境中的python.exe。
如果设置了环境变量PYTHONHOME,则使用其python.exe。
如果没有上述任何一种情况,则回退到在PATH上找到的第一个python.exe。
pyassoc
pyassoc [original] [all_users]
如果没有参数,pyassoc 将将 .py 扩展名注册为使用 %pyhome%\pywin.bat 运行。此更改是在注册表中针对 HKEY_CURRENT_USER 进行的,因此当调用 .py 文件时,将覆盖任何机器范围的设置。
请注意,注册表设置对在 MSYS/MINGW32 下启动 .py 文件没有影响。
参数
original - 将 .py 注册表设置恢复为使用 %pyhome%\python.exe 启动
all_users - 如果是管理员,则将更改应用于 HKEY_LOCAL_MACHINE 并删除任何 HKEY_CURRENT_USER python 键。请注意,用户可以使用自己的 HKEY_CURRENT_USER 值来覆盖此设置。
%pyhome%
%pyhome% 变量是按以下方式由 pyassoc 使用的
如果设置了环境变量 PYTHONHOME,则使用它。
如果设置了环境变量 DEFAULTPYTHON,则使用它。在调用 pywin setdefault <version> 时设置它,但仅持续当前会话。
pyassoc.bat 脚本所在的路径。
项目详情
pywin-0.3.1.zip 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4f9195735d6fd726a4e90b7f950383c964ecd52614453a5dd4dfae3a86b8163a |
|
MD5 | 54aa878622bccc6aba0530fe86d74732 |
|
BLAKE2b-256 | 23f5744fc05b39ab479749c2eb9ba5cdf57b932a41a0bc23d833a47cb6314638 |