GUI显示Python中安装的所有第三方库小工具

Posted by 石坤 on 2019-02-26

问题描述: 显示Python中安装的所有第三方库,前提是安装了pip)
问题拆解:

  1. 如何查看第三方库,存在哪个文件中? 或者通过pip命令找出安装的库?
  2. 通过tkinter展示出来

在terminal中执行pip list 可以展示安装的所有的package
但是如何在Python中运行command呢?使用os模块

1
2
import os
os.system("pip list")

遇到的问题,使用os.system直接输出了需要的信息,但是如何捕捉信息,并转化为字典.只有这样才能处理相关信息.此路不通? 如果走这条路,曲曲折折,可以走通

也可以直接采用pip的方法get_installed_distributions(),不需要转换数据类型,也不需要先存到文件中,省了很多事.

注意:只有pip 9的版本可以使用,pip 10中没有此方法

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from tkinter import *
import pip
packages = pip.get_installed_distributions()
root = Tk()

label = Label(text="Show all python packages")
label.pack()

listbox = Listbox(bg="grey", fg="white")
listbox.pack(fill=BOTH, expand=True)

for i in packages:
print(i)
listbox.insert(END, i)
root.mainloop()

笔记

  1. 很多时候,解决问题的路不止一条,但是人倾向于在自己找到的第一条路上死磕,如果死磕到底,即使会很麻烦,可能也能解决问题,但是也可以尝试跳出来,重新找另一条路.
  2. 再次遇到了版本问题,导致的未知问题.测试版慎用(beta版), 如果是新手,尽量把环境配置到和教程完全一样,很节省很多力气.github的issue要认真看.直接看赞多的就行
  3. 犯了大小写字母的错误,导致了程序报错,找了很久才找到.以后要注意拼写方面的低级错误.eg.把listbox(),拼成Listbox(),这也体现了对tkinter的理解不够