在执行命令之前,将python的bin/scripts目录添加到path。主要用于python虚拟环境。

vrun的Python项目详细描述


vrun

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

概述

一个小的python帮助工具,它将修改环境中的PATH。 在执行作为第一个参数提供的可执行文件之前。这很有用 当程序希望某些二进制文件在PATH中可用时 使用os.popen()和friends执行它们,甚至对shell脚本执行 正在执行的python工具不希望全局安装。

脚本可能通过查找环境检测到已使用vrun 变量VRUN_ACTIVATED,在运行时设置为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。 提供包含系统安装的虚拟环境的路径 pip可能会被意外调用。虚拟环境 将在搜索路径中排在第一位,因此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)

  • 现在可以通过创建名为 {TT10} $或向现有的{TT12} $中添加一个名为^ {TT23 } $。

    [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 它存在于^ {TT25}$文件夹中。

    因此,以下内容相同:

    Script\vrun.exe python
    

    以及:

    Script\vrun.exe python.exe
    

0.2(2017-06-08)

  • 还导出指向虚拟机的环境变量VIRTUAL_ENV。 环境。

0.1(2017-06-08)

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在用户输入的基础上使用applet绘制线条?在g为null的状态下发生的错误,如何修复   java频率源   java无法单击使用Selenium WebDriver创建的<div>下拉列表   java Wildfly 15在不同的机器上运行时不创建集群   Java:比较3个数字。得到他们中最伟大的   java与Maven/Hudson和TestNG一起使用多个类   java发生JNI错误(jdeveloper12c)   java在现实生活中同步多线程程序中的方法有什么意义   java Glassfish嵌入式JNDI模块范围查找   windows使用WMIC优雅地杀死Java进程   午夜(上午12点)java更新小部件失败   java无法解析方法“registerListener(com.xxx.xxx.MainActivity,安卓.hardware.SensorManager,int)”   java Hibernate版本属性在更改时调用自动更新?   java创建新线程是否会产生刷新缓存的副作用?   java saveAsTextFile性能改进   java如何自动化新的Facebook注册弹出窗口?   来自现有RDD的java Spark流媒体   AES256 OpenSSL C++和java加密:解密时的BADPADION异常