跳转到主要内容

轻量级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版本中启动第一个找到的版本:

  1. 在源文件前两行中的#!之后指定的任何版本。解释器将使用任何附加参数调用。

    示例

    #! python3.3
    #! /usr/bin/python2.7 -v
  2. 如果设置了环境变量VIRTUAL_ENV,则使用该虚拟环境中的python.exe

  3. 如果设置了环境变量PYTHONHOME,则使用其python.exe

  4. 如果没有上述任何一种情况,则回退到在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 使用的

  1. 如果设置了环境变量 PYTHONHOME,则使用它。

  2. 如果设置了环境变量 DEFAULTPYTHON,则使用它。在调用 pywin setdefault <version> 时设置它,但仅持续当前会话。

  3. pyassoc.bat 脚本所在的路径。

项目详情


下载文件

下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pywin-0.3.1.zip (25.4 kB 查看散列)

上传时间

由以下机构支持