跳转到主要内容

在执行命令之前将Python的bin/Scripts目录添加到PATH。主要用于Python虚拟环境。

项目描述

vrun

在执行命令之前将Python的bin/Scripts目录添加到PATH。主要用于Python虚拟环境。

概述

这是一个小的Python辅助工具,它会在执行作为第一个参数提供的可执行文件之前修改环境中的 PATH。当程序期望某些二进制文件在 PATH 中可用以便它们可以使用 os.popen() 和相关函数执行它们,或者对于执行用户不希望全局安装的Python工具的shell脚本来说,这很有用。

脚本可以通过查找环境变量 VRUN_ACTIVATED 来检测是否使用了 vrun,当运行时该变量设置为 1。不建议脚本编写者这样做。

使用方法

在 macOS/FreeBSD/Linux/Unix 上

$ python3 -mvenv ./env/
$ ./env/bin/pip install vrun
$ ./env/bin/vrun /bin/bash -c 'echo $PATH'

在 Windows 上

C:\> python3.exe -mvenv env
C:\> env\Scripts\pip.exe install vrun
C:\> env\Scripts\vrun.exe python -c "import os; print(os.environ['PATH'])"

例如,如果有一个脚本执行 pip 而没有明确提供包含虚拟环境的PATH,系统安装的 pip 可能会意外地被调用。使用 vrun,虚拟环境将在搜索路径中排在首位,因此 pip 将在虚拟环境的作用域中安全执行。

例如,一个shell脚本

$ ./env/bin/vrun ./myscript.sh

或执行一个Windows批处理脚本

C:\> env\Scripts\vrun.exe script.bat

命令别名

vrun 允许你在配置文件中定义命令别名,可以是 vrun.cfgvrun.inisetup.cfg

这些配置文件必须包含至少一个 vrun 部分,然后使用标准的 ini 格式,你可以指定键值对

[vrun]
python.version = python --version
shell = /bin/bash
echo = /bin/bash -c 'echo ${@}' _ {posargs} echo off the bare walls

现在你可以使用以下方式运行这些命令

vrun python.version

这将返回类似的结果

Python 3.6.2

然后你可以进行位置参数插值

vrun echo the soft voices

将输出

the soft voices echo off the bare walls

插值

只要关键字 {posargs} 是独立的,并且被空格包围(而不是在引号段内)vrun 将将其替换为命令行提供的任何位置参数。如果没有提供位置参数,它将删除 {posargs} 占位符并删除它作为参数。

如果命令别名中没有提供 {posargs},则所有在初始命令之后提供的额外参数都将作为位置参数传递。

使用上面提到的shell示例,你可以这样做

vrun shell -c 'echo $PATH'

这将执行

/bin/bash -c 'echo $PATH'

在虚拟环境中按预期执行。这可以很有用,允许你预先定义某些较长的命令,同时仍然允许用户在命令行上根据需要添加额外的参数。

vrun 或 vexec

vrun 同时作为 vrunvexec 安装。后者可以用左手打字,并且打字速度略快!

许可证

请参阅源代码存储库中的 LICENSE 文件

0.4 (2017-09-27)

  • 你现在可以通过创建一个名为 vrun.cfg 的新配置文件或向现有的 setup.cfg 中添加一个名为 [vrun] 的部分来创建命令别名。

    [vrun]
    python.version = python --version
    shell = /bin/bash
    echo = /bin/bash -c 'echo ${@}' _ {posargs} echo off the bare walls

    然后可以这样使用

    vrun python.version
    vrun echo the soft voices
    vrun shell -c 'echo $PATH'
  • 添加了新测试,并且覆盖率现在为 100%。从现在起,所有新功能都必须满足相同的覆盖率要求,以验证没有破坏性更改。

0.3 (2017-06-13)

  • 添加了对Windows的支持,现在你可以使用

    Script\vrun.exe python -c "import os; print(os.environ['PATH'])"

    来运行修改了 %PATH% 的Windows二进制文件。

    vrun 还会自动将 .exe 添加到在 Scripts 文件夹中存在的脚本名称中。

    所以以下都是相同的

    Script\vrun.exe python

    Script\vrun.exe python.exe

0.2 (2017-06-08)

  • 同时导出指向虚拟环境的环境变量VIRTUAL_ENV

0.1 (2017-06-08)

  • 初始发布和vrun功能的实现

项目详情


下载文件

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

源代码分发

vrun-0.4.tar.gz (11.0 kB 查看哈希值)

上传时间 源代码

构建分发

vrun-0.4-py2.py3-none-any.whl (10.5 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持