从pypi轻松安装应用程序并自动更新它们
autopip的Python项目详细描述
自动IP
从pypi轻松安装应用程序并自动更新它们。
autoip使用venv或 virtualenv,使用 pip,并自动为/usr/local/bin中安装的脚本创建符号链接 你可以很容易地使用它们。每个应用程序版本都干净地安装到自己的虚拟环境中。或者,它可以 设置crontab条目以自动更新应用程序。
在开始之前,请检查您的python安装,而autoip可以安装在任何python上运行的python应用程序 版本,它需要Python3.6+才能运行:
curl -s https://raw.githubusercontent.com/maxzheng/autopip/master/etc/check-python.py | python
要安装autoip到/usr/local/bin:
sudo pip3 install autopip
不必担心python安装会受到污染,因为autoip没有安装依赖项,而且永远不会。
或者,您可以将其安装在虚拟环境中,这是您为其手动创建的最后一个虚拟环境 安装python应用程序:
python3.6 -m venv ~/.virtualenvs/autopip source ~/.virtualenvs/autopip/bin/activate pip3 install autopip
(可选)创建安装目录并发送给用户,以便autopip可以在 /usr/local/bin:
sudo mkdir /usr/local/opt /usr/local/var sudo chown -R $(whoami) /usr/local/*
现在,您可以轻松地安装来自pypi的任何应用程序:
$ autopip install workspace-tools --update daily Installing workspace-tools to /usr/local/opt/apps/workspace-tools/3.2.2 Daily auto-update enabled via cron service Updating symlinks in /usr/local/bin + wst
安装路径是根据用户对/opt或/usr/local/opt的写入权限选择的。如果你没有 无论是哪种权限,autopip都会将应用程序安装到位于~/.apps的用户主页,并在~/bin中使用脚本符号链接 因此,您需要将~/bin添加到path env var中,以便从已安装的应用程序轻松运行脚本。安装 脚本符号链接到/usr/local/bin,用户可以根据建议在/usr/local/*中写入chown/chmod目录 或者使用sudo(即作为根)运行autopip。要查看选择特定路径的原因,请附加--debug 运行时在autopip之后。
为了节省键入几个字母的时间,您还可以使用appalias–缩写为autopip。
$ app install ansible-hostmanager Installing ansible-hostmanager to /usr/local/opt/apps/ansible-hostmanager/0.2.3 Updating script symlinks in /usr/local/bin + ah
要为较旧或特定的python版本安装应用程序,请使用--python选项:
$ app install ducktape --python 2.7 Installing ducktape to /usr/local/opt/apps/ducktape/0.7.3 Updating script symlinks in /usr/local/bin + ducktape
显示当前安装的应用及其脚本:
$ app list --scripts ansible-hostmanager 0.2.3 /usr/local/opt/apps/ansible-hostmanager/0.2.3 /usr/local/bin/ah ducktape 0.7.3 /usr/local/opt/apps/ducktape/0.7.3 /usr/local/bin/ducktape workspace-tools 3.2.2 /usr/local/opt/apps/workspace-tools/3.2.2 [updates daily] /usr/local/bin/wst
手动更新所有应用程序:
$ app update ansible-hostmanager is up-to-date ducktape is up-to-date workspace-tools is up-to-date
要卸载:
app uninstall ducktape
您甚至可以通过安装自身来自动更新autoip
$ app install autopip==1.* --update monthly Installing autopip to /usr/local/opt/apps/autopip/1.0.0 Monthly auto-update enabled via cron service Updating symlinks in /usr/local/bin * app (updated) * autopip (updated)
现在,这很方便!;)
如果需要使用私有的pypi索引,只需在pip.conf中配置索引url,因为autoip使用pip来安装应用程序。
要控制跨多个主机/用户的版本控制和统一安装,还可以定义一个autoip 使用入口点的安装组。参见developer-tools中的示例 包裹。
常见问题解答
- cron作业在安装期间有一个随机的分钟集,并且在所有时间间隔内每小时运行一次。
- 一次最多保存两个版本的应用程序。
- 热门话题
- java中最小长度的字数计算 java事务处理JavaEE 6 java如何进行5分钟刷新并检查txt是否被修改? java可以同时拖动多个对象 变量长、双精度、字节、字符在Java中的用途是什么? spring将XMLBean配置转换为java配置 java检测不可靠网络上的TCP丢失 Java:TCP加密、SSL和Netty 在java中,如何使用isAssignableFrom的映射避免多个if-else 在J2EE动态Web项目中找不到java CSS文件 java遍历领域查询到RealmList 安卓阅读网站内容Java java如何修改/自定义/反编译Opera mini jar文件? java死锁播放框架如何使用控制器中的参数检查@RestrictedResource? java在MS Excel中导入xml文件我们如何使用Python或任何其他编程语言自动化此流程? java如何暂停正在运行的线程并在需要时重新启动同一线程?