此腳本集成pip 全部功能,可在遠程環境中執行,爲你解決還在憂愁記住pip命令煩惱,此腳本預留了接口,可根據本身的實際環境自定義開發。
def pip_python_file(): win = (sys.platform == 'win32') linux = (sys.platform == 'linux2') if win: version = subprocess.Popen('pip -V', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() if len(version) > 0: print('********************安裝環境信息********************') try: print('win_version:') print('\t' + u'版本:%s' % platform.platform()) except Exception: print() pip_version = subprocess.Popen('pip -V', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() python_version = subprocess.Popen('python -V', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() python_path = subprocess.Popen('where python', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() for python_version1 in python_version: print('python_version&path:') print('\t' + u'版本:%s' % str(python_version1, encoding="utf8").strip()) for python_path1 in python_path: print('\t' + u'路徑:%s' % str(python_path1, encoding="utf8").strip()) for pip_version1 in pip_version: print('pip_version &path:') print('\t' + u'版本:%s' % str(pip_version1, encoding="utf8").strip()[:11]) print('\t' + u'路徑:%s' % str(pip_version1, encoding="utf8").strip()[16:]) def menu(): print("****************Python pip安裝工具 1.0****************") print('1.添加py模塊') print('2.卸載py模塊') print('3.查詢更新py模塊') print('4.查詢單個py模塊') print('5.查詢全部py模塊') print('6.pip使用方法') print('7.更新py模塊') print('8.退出pip工具') print('9.查看本電腦環境變量') def input_card(): """ 1.添加py模塊 :return: """ try: print('***************添加py模塊***************') out = input('輸入模塊名稱:') add_pip = "pip install" add_pip1 = subprocess.Popen(add_pip + '\t' + out, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() for i in add_pip1: print('\t' + str(i, encoding="utf8").strip()) except Exception as e: print("錯誤日誌:" + str(e)) else: print() while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def del_name(): """ 2.卸載py模塊 :param card_list: :return: """ try: print('*************** 卸載py模塊***************') out = input('輸入卸載模塊名稱:') add_pip = "pip uninstall" add_pip1 = subprocess.Popen(add_pip + '\t' + out, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() for i in add_pip1: print('\t' + str(i, encoding="utf8").strip()) except Exception as e: print("錯誤日誌:" + str(e)) else: print() while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def del_card(): """ 7.更新py模塊 :return: """ try: print('***************更新py模塊***************') out = input('輸入須要更新模塊名:') add_pip = "pip install -U" add_pip1 = subprocess.Popen(add_pip + '\t' + out, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() for i in add_pip1: print('\t' + str(i, encoding="utf8").strip()) except Exception as e: print("錯誤日誌:" + str(e)) else: print() while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def find_name(): """ 4.查詢已安裝模塊 :param card_list: :return: """ t = input('輸入查詢模塊名稱:') import sys def dump(module): print("{0}模塊安裝路徑".format(module)) if module in sys.builtin_module_names: # 查找內建模塊是否存在 print("") else: module = __import__(module) # 非內建模塊輸出模塊路徑 print('(非內置模塊已安裝)安裝路徑:%s' % module.__file__) dump(t) while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def edit_name(): """ 3.須要升級模塊 :param card_list: :return: """ update_pip = "pip list --outdated" update_pip1 = subprocess.Popen(update_pip, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() print(u'須要升級模塊:') for i in update_pip1: print('\t' + str(i, encoding="utf8").strip()) while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def see_card(): """ 5.查看全部安裝py模塊 :param card_list: :return: """ cat_pip = "pip list" cat_pip1 = subprocess.Popen(cat_pip, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() print(u'你已安裝的模塊:') for i in cat_pip1: print('\t' + str(i, encoding="utf8").strip()) while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def pip_help(): """ 6.退出系統 :return: """ sys.exit('感謝使用本工具!!!') def sign_out(): """ 8.pip參數使用方法 :param card_list: :return: """ update_pip = "pip" update_pip1 = subprocess.Popen(update_pip, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True).stdout.readlines() print(u'pip參數使用方法:') for i in update_pip1: print('\t' + str(i, encoding="utf8").strip()) while True: niu = input("請繼續您的選擇是(y/q):").strip() if niu == 'y': return main() elif niu == 'q': exit('/n你已退出程序...') else: print("輸入錯誤,請從新輸入") return main() def pip_path(): import os print(u'本地電腦環境變量:') print('\t' + 'PATH=' + os.environ['path']) def main(): menu() while True: mun = input('請輸入功能序號:') if mun.isdigit(): mun = int(mun) else: print('請輸入正確的功能序號!') if mun == 1: input_card() if mun == 2: del_name() if mun == 3: edit_name() if mun == 4: find_name() if mun == 5: see_card() if mun == 6: sign_out() break if mun == 7: del_card() if mun == 8: pip_help() if mun == 9: pip_path() if __name__ == '__main__': card_list = [] main() else: print('請先安裝pip或配置環境變量') else: print('請先安裝pip或配置環境變量') from bs4 import BeautifulSoup text = """ pip安裝方法 """ soup = BeautifulSoup(text, 'html.parser') href = soup.find('a').get('href') print('pip安裝方式:', href) if linux: pass else: print('請先安裝pip或配置環境變量')