【Python小工具】更新所安装的套件

如果要更新pip所安装的全部套件,可以使用下列程式码:
pip_upgrade_all.py程式码

"""程式名称:pip_upgrade_all.py"""import ctypesimport osimport sysimport subprocess """!!!不适用的方式!!!pkg_resources在python 3.12后已不再支援,在3.11后期版本会显示:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html  """def is_admin() -> bool:    return ctypes.windll.shell32.IsUserAnAdmin()          if is_admin():        installed_packages_text = subprocess.check_output(['pip', 'freeze'], universal_newlines=True)    installed_packages = [line.split('==')[0] for line in installed_packages_text.split('\n') if line.strip()]    subprocess.call("pip install  --upgrade " + ' '.join(installed_packages), shell=True)else:    print('需运作在系统管理员模式中')

说明:
1.之前是使用pkg_resources函式库处理,不过在之后版本已经不支援。
2.操作在系统管理员模式下主要是让安装的套件能安装在python目录本身的site-package中。
3.网站找很多方式,但多太複杂。故使用最原始的pip freeze指令,但缺点是执行时似乎有2~3秒的等待时间。不过程式自动化嘛~让它跑就是了。
4.此程式的想法是,原pkg_resources输出什么,用installed_packages = ...替代产生相同输出。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章