安装基于python的开发工具的便利包

toolup的Python项目详细描述


工具设置

安装基于python的开发工具的便利包

支持python>;=3.6.1

动机

python是一种强大的、可访问的读写语言。 因此,许多对跨多种语言的开发人员有用的工具都是用python编写的。 但是,开发环境的隔离是至关重要的,可以满足您的需求 使用you使用的工具和代码不使用的文件可能会适得其反。

但是,在系统python中安装东西可能是危险的 或者要求你没有的特权。

如果您使用python工具进行python开发, 工具和项目可能具有不同的版本约束。 例如,固执己见的代码格式化程序black适用于所有python代码, 但只能在版本>;=3.6.1中运行。

如果使用python工具进行其他语言的开发, 维护和移植单独的虚拟环境的开销可能不值得 只是为了这些工具。

toolup帮助您维护一套基于简单toml文件的开发工具, 它们被封装在虚拟环境中,但可以从任何地方访问。

安装

pip install toolup

用法

配置文件

有关示例,请参见toolup.toml.example。 如果你把这个文件作为.toolup.toml保存在主目录中, 如果toolup在没有参数的情况下运行,它将被自动拾取。

target应该是路径上的目录。 如果不存在,并且命令行中没有提供目标, 不会链接可执行文件。

每个部分都应该为一个工具命名。 我建议使用pypi上显示的名称: 这样,如果不提供install_args,就可以使用它来查找包。

在每个部分中,您可以包括install_args (将被传递到pip目录的字符串或字符串列表)。 这对于从github安装包或在可编辑模式下安装包等非常有用。 如果没有给出,将使用节名称。 您还可以包括entry_points; 此包安装的入口点的名称列表。 如果没有给出,将使用节名称。

命令行

usage: toolup [-h] [-c CONFIG] [-n NAME] [-i INSTALL_ARGS] [-e ENTRY_POINTS]
              [-t TARGET] [-f]

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Path to config TOML file
  -n NAME, --name NAME  Name to install
  -i INSTALL_ARGS, --install_args INSTALL_ARGS
                        Arguments to pass to pip
  -e ENTRY_POINTS, --entry_points ENTRY_POINTS
                        Entry points to copy
  -t TARGET, --target TARGET
                        Where to link executables
  -f, --force           Whether to delete existing executables

可以同时添加几个条目,如下所示:

toolup -n black -n pgcli

生成的名称、安装参数和入口点列表放在一起。 toolup将尝试从名称推断安装参数和入口点, 以及安装参数中的名称。

示例工作流

你刚开了一台新机器。 你有一个你最喜欢的开发工具列表, 在一些项目中很有用, 而实际上没有被这些项目中的任何代码使用。

你在你的.toolup.toml上复制(可能使用gnu stow之类的东西)。 为它创建一个virtualenv,pip install toolup && toolup, 你所有的工具都在你想要的地方。

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

推荐PyPI第三方库


热门话题
java我的应用程序崩溃,试图添加菜单   java如何创建TBase类实例   如何在java小程序中使用JMF功能?   数据结构Java中是否有用于双循环链表的内置接口?   java在使用JAXB读取XML文件时如何使用继承   在Java中获取和存储子进程的输出   从Java执行Windows命令   HQL中带日期的java限制   安卓如何使用GSON将单个JSON字段映射到多个JAVA字段?   std:random shuffle()和Collections之间的java差异。洗牌   Java正则表达式更高效的动态正则表达式   来自JSON的java POJO表示   active directory无法在Java中更改AD服务器中的密码   DataOutputStream出现java错误   scala如何指定JVM最大堆大小“Xmx”,以便在SBT中运行具有“run”操作的应用程序?   添加了`<f:actionListener>`之后,java`ViewScoped` bean会被重新创建吗?   python找不到满足java要求的版本(来自版本:),找不到与java匹配的发行版   java为什么刷新jdbc swing表中的按钮后数据会多次出现?   java在编程语言(尤其是dart)中,死代码是什么意思?   java为什么我必须在JDBC中使用回滚?