在执行命令之前将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.cfg、vrun.ini 或 setup.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 同时作为 vrun 和 vexec 安装。后者可以用左手打字,并且打字速度略快!
许可证
请参阅源代码存储库中的 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab85d1e6f1034b9fe9aac04288895bc1afe7440ac54cf965f161f77d3f8ebdbc |
|
MD5 | 7316feeedfcfbb9260a1f290a27f9a24 |
|
BLAKE2b-256 | 5aec40d05f3d8468d80ed1659bb9dca991f9fd144de15f12f2a69f7a709e78cf |
vrun-0.4-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e57e06477b8b24906078a566a2bc77e8f656f75d879521bd1f976183cb601a8 |
|
MD5 | 09d1c42c5b2084d7e9acbe27ee0af302 |
|
BLAKE2b-256 | 52074c1d9716d77c3235ee307fec7bc51d56ccd8e03ca3dbb404a15049f52d00 |