Board logo

標題: Python模塊管理程式(最新版1.2發佈) [打印本頁]

作者: w7pinuser    時間: 2022-7-10 20:49     標題: Python模塊管理程式(最新版1.2發佈)

本帖最後由 w7pinuser 於 2022-11-12 20:44 編輯

Windows下安裝/卸載Python模塊(庫)都要通過命令行調用pip,很麻煩,因此想使用Python3+tkinter編寫一個Python模塊管理程式,已經製作了一半,預計八月份完工。八月發佈的第一版只有簡體中文,第二版以上將增加繁體中文、英文、俄語、法語等語言的支援。發佈的軟件將用pyinstaller打包成exe格式,支援Windows XP正式版以上/ReactOS 5.1.2600以上/Wine 5.1.2600以上操作系統。歡迎提出寶貴意見。

1.0版本截圖:[attach]2329872[/attach]
1.2最新正式版截圖:[attach]2347860[/attach]

2022/07/12更新:版本1.0提前發佈!下載地址: http://file.yiyuen.com/file/download/335380 。
2022/09/24更新:版本1.1發佈(新增繁體、英文翻譯)!下載地址: http://file.yiyuen.com/file/download/345685 。
2022/11/12更新:版本1.2發佈(介面大改、修復錯誤)!下載地址: http://file.yiyuen.com/file/download/390212 。
作者: w7pinuser    時間: 2022-7-10 20:52

保留中國和美國雙通道安裝是因為大陸用戶(包括我)訪問美國pypi伺服器非常慢,因此添加 pypi.douban.com 豆瓣網伺服器安裝的選項。
作者: w7pinuser    時間: 2022-7-11 16:24

本帖最後由 w7pinuser 於 2022-7-11 16:29 編輯

程式源碼已經全面相容Python3.x/2.7,全面相容WinXP以上/Wine/ReactOS作業系統,全面相容800x600/1024x768/1280x720/1280x1024/1366x768/1440x900/1600x900/1080p/2k/4k/豎屏等所有顯示器並實現高清顯示,介面和系統高度相似。
作者: w7pinuser    時間: 2022-7-11 21:57

已經取消對Wine的支援,因為os.system和os.popen默認打開Linux而不是Wine的終端
作者: shal    時間: 2022-7-12 14:00

為什麼唔用pipenv 呢~
作者: w7pinuser    時間: 2022-7-12 17:47

本帖最後由 w7pinuser 於 2022-7-12 17:52 編輯

第1.00版已經製作成功!下載鏈接: http://file.yiyuen.com/file/download/335380 使用pyinstaller3.0+WinXP+Python3.5(修改版)打包exe。大陸防火長城屏蔽了谷歌雲盤,所以用易雲文件上傳。此軟件是自由軟件,可以自由傳播和在不冒充原版的情況下自由修改、再發佈,但不提供源代碼,可以反編譯得到源代碼。
作者: w7pinuser    時間: 2022-7-12 18:04

為什麼唔用pipenv 呢~
shal 發表於 2022-7-12 14:00



    因為編寫自動安裝pipenv的程式非常麻煩,而編寫自動安裝pip的程式非常簡單,只要對get-pip.py進行修改即可。
作者: Yucie    時間: 2022-7-13 00:02

師兄, 你用PYINSTALLER 打包後, 最好每個WINDOW 試下WORK 唔WORK
我以前試過係WIN7 SP2 , PYTHON 3.7 打包一個檔
可以係WIN10 情況下唔WORK, 應該係WIN7 同WIN 10 入面某D DLL 唔相容
如果要全WINDOW 都WORK 最好全部WINDOW 都試下, GOOD LUCK CHING
作者: w7pinuser    時間: 2022-7-13 10:13

師兄, 你用PYINSTALLER 打包後, 最好每個WINDOW 試下WORK 唔WORK
我以前試過係WIN7 SP2 , PYTHON 3.7 打包 ...
Yucie 發表於 2022-7-13 00:02



    XP、Win7、Win8.1都試過,可以正常使用,Win10最複雜,可能被Defender報毒,沒試過。
作者: Yucie    時間: 2022-7-13 13:33

XP、Win7、Win8.1都試過,可以正常使用,Win10最複雜,可能被Defender報毒,沒試過。 ...
w7pinuser 發表於 2022-7-13 10:13


唔係比DEFENDER 擋, 自己覺得應該係NETFRAME 入面D 野唔相容
所以包起來果陣, WIN 10 唔WORK
作者: louislam    時間: 2022-7-13 19:19

我不常用python
不過還是建議開源, 放上GitHub
開源比較容易互相信任,兼可以自行編譯

否則你在HKEPC才註冊2個月,很難取得別人信任。你要知道來路不明的exe檔案現在都很危險。
作者: w7pinuser    時間: 2022-7-13 19:36

我不常用python
不過還是建議開源, 放上GitHub
開源比較容易互相信任,兼可以自行編譯

否則你在HKEPC才註 ...
louislam 發表於 2022-7-13 19:19



源代碼有1.38MB,不方便發出來,就傳到易雲文件上傳了: http://file.yiyuen.com/file/download/335417 ,打包成zip文件,裡面包含py源代碼(易雲文件上傳不支援py格式直接上傳)。
作者: w7pinuser    時間: 2022-8-15 13:42

已經添加小部分繁體及英文,可自動識別系統語言(只支援簡體、繁體、英文)。圖為VirtualBox英文XP中的程式。[attach]2334719[/attach]
作者: silvester    時間: 2022-8-15 14:13

源代碼有1.38MB,不方便發出來,就傳到易雲文件上傳了:  ,打包成zip文件,裡面包含py源代碼(易雲文件 ...
w7pinuser 發表於 2022-7-13 19:36



依家呢個世代, 放上github la ...
你放上不知名平台埋仲煩, 你自己更新又煩, 人地想更新又煩
作者: w7pinuser    時間: 2022-8-15 19:07

本帖最後由 w7pinuser 於 2022-8-15 19:13 編輯
依家呢個世代, 放上github la ...
你放上不知名平台埋仲煩, 你自己更新又煩, 人地想更新又煩 ...
silvester 發表於 2022-8-15 14:13



    GitHub要使用VPN工具(不合法)或者更改系統Hosts(合法但不穩定),否則在大陸訪問非常慢。[attach]2334764[/attach]
作者: silvester    時間: 2022-8-16 08:12

回覆 15# w7pinuser


外國仲有gitlab, bitbucket 的. 大陸自己都有gitee ...
作者: super_hkg    時間: 2022-8-16 13:16

係大陸慢係network 問題,可以試下清華大學個鏡像

https://mirrors.tuna.tsinghua.edu.cn/help/pypi/
作者: w7pinuser    時間: 2022-8-16 15:33

係大陸慢係network 問題,可以試下清華大學個鏡像
super_hkg 發表於 2022-8-16 13:16



    謝謝!不過我所指網絡慢是大陸訪問GitHub超級慢,可以用SwitchHosts緩解。PYPI慢確實可以用鏡像解決(此程式“中國通道安裝”就是利用豆瓣PYPI鏡像加速的原理,“美國通道安裝”即默認PYPI美國伺服器)。
作者: w7pinuser    時間: 2022-8-16 15:39

主程式英文、繁體已經基本翻譯完成,如果有翻譯不當之處請指出[attach]2334898[/attach][attach]2334899[/attach]
作者: xiao    時間: 2022-8-16 20:48

請問開源嗎
作者: w7pinuser    時間: 2022-8-16 20:55

請問開源嗎
xiao 發表於 2022-8-16 20:48



    開源,1.0版本源代碼上面已經發了(大陸不可使用Google Drive,故放在易雲文件上傳)
作者: w7pinuser    時間: 2022-8-17 00:31

發現一處翻譯錯誤:“uninstall”在繁體中是“解除安裝”而不是“卸載”
作者: w7pinuser    時間: 2022-9-16 18:55

本帖最後由 w7pinuser 於 2022-9-16 19:15 編輯

征求網友的意見,tkinter程式窗口主題用"clam"還是"xpnative"比較合適?
作者: justiceice    時間: 2022-9-16 23:33

A solution looking for a problem
作者: w7pinuser    時間: 2022-9-20 20:20

最近更新:
完全去除程式碼中的os模塊(import os容易引起防毒軟件誤報),改用subprocess。自己定義run函數,實現os.popen和system的全部功能,python2/3都能用;新run函數自動解碼,自動適應cp936/cp950等編碼格式,避免中文報錯:
def run(command, print_msg=True, errorinoutput=True, wait=True, call=False, delete_r=True):
    PIPE = subprocess.PIPE
    if call:
        print_msg = False
        errorinoutput = False
        delete_r = False
    if not wait:
        errorinoutput = False
        PIPE = None
    if errorinoutput:
        STDOUT = subprocess.STDOUT
    else:
        STDOUT = subprocess.PIPE
    if not wait:
        p = subprocess.Popen(command, shell=True, stdout=PIPE, stderr=STDOUT)
        return
    if call:
        code = subprocess.call(command, shell=True, stdout=PIPE, stderr=STDOUT)
        return code
    else:
        p = subprocess.Popen(command, shell=True, stdout=PIPE, stderr=STDOUT, bufsize=-1)
        p = io.TextIOWrapper(io.BufferedReader(io.BytesIO(p.stdout.read())))
        text = p.read()
        p.close()
        if print_msg:
            print(text)
        if delete_r:
            text = text.replace('\r', '')
        return text
使用全新基於tkinter.Text的終端(程式運行時系統黑窗終端隱藏,程式結束運行時系統終端恢復顯示):
class TkinterTerminal(object):
    def __init__(self, textbox):
        self.textbox = textbox
    def write(self, text):
        self.textbox.insert('end', text)
        self.textbox.see('end')
    def flush(self):
        pass
作者: w7pinuser    時間: 2022-9-20 22:27

自定義函數getcurrenttime,使用time.time編寫,python3/2都可以運行,無報錯可能(如果將系統時間設置為1969年以前time.ctime會報錯,time.time則會顯示負數):
def getcurrenttime():
    currenttimecode = time.time() + 28800.0
    currentsec = int(currenttimecode % 60.0)
    currentminute = int((currenttimecode % 3600.0) / 60.0)
    currenthour = int((currenttimecode % 86400.0) / 3600.0)
    return currenthour, currentminute, currentsec
要加28800(8小時)是因為本人測試過1970/01/02 00:00:00的time.time為57600,而一天=86400秒,故time.time等於0時真實時間為1970/01/01 08:00:00
作者: w7pinuser    時間: 2022-9-23 23:01

軟件已經完成繁、英翻譯,待發佈!
作者: w7pinuser    時間: 2022-9-24 23:04

1.1版本發佈!下載鏈接: http://file.yiyuen.com/file/download/345685 ,繁體、英文可用,更新內容很多,歡迎下載。
作者: w7pinuser    時間: 2022-9-27 19:53

軟件上報360開放平台未獲批准信任 [attach]2340625[/attach]
作者: w7pinuser    時間: 2022-9-28 21:19

再次提交申請,通過360在線殺毒白名單認證! [attach]2340795[/attach]
作者: w7pinuser    時間: 2022-10-19 19:58

本程式已修復get-pip.py在python310中symbol和collection的bug,並成功修復python3.5、2.7以前版本安裝pip最新版後無法回退20.3.4的bug,正在嘗試修復2.7.9以前版本中insecure platform warning的bug。
作者: w7pinuser    時間: 2022-10-26 21:32

本程式已修復get-pip.py在python310中symbol和collection的bug,並成功修復python3.5、2.7以前版本安裝pip ...
w7pinuser 發表於 2022-10-19 19:58



    已放棄支援2.7.8、3.1及以前的python版本
作者: w7pinuser    時間: 2022-11-2 13:24

新UI初步完成編寫,正在完善暗黑模式下的介面。[attach]2346109[/attach]
作者: w7pinuser    時間: 2022-11-2 13:27

新UI初步完成編寫,正在完善暗黑模式下的介面。
w7pinuser 發表於 2022-11-2 13:24



    Win10平板模式Bug已修復,Win7、10在窗口比例不成2:1時開啟DWM窗口邊框擴展(Win7 Basic及XP不支援),其中Win7擴展的邊框有Aero特效。
作者: w7pinuser    時間: 2022-11-4 20:58

Win10、Win11已支援暗黑模式,但Win10上有Bug。Win11 21H2已支援Mica半透明效果,22H2已支援Aero半透明效果。
函式代碼:
#import ctypes
def setwin11blur(hWnd):
    hWnd = int(hWnd)
    Win11_21H2_ENTRY = 1029
    Win11_21H2_VALUE = 1
    Win11_22H2_ENTRY = 38
    Win11_22H2_VALUE = 3
    ctypes.windll.dwmapi.DwmSetWindowAttribute(hWnd, Win11_21H2_ENTRY, ctypes.byref(ctypes.c_int(Win11_21H2_VALUE)), ctypes.sizeof(ctypes.c_int))
    ctypes.windll.dwmapi.DwmSetWindowAttribute(hWnd, Win11_22H2_ENTRY, ctypes.byref(ctypes.c_int(Win11_22H2_VALUE)), ctypes.sizeof(ctypes.c_int))
效果圖:
[attach]2346604[/attach]
作者: w7pinuser    時間: 2022-11-12 20:14

1.2版本發佈,下載地址: http://file.yiyuen.com/file/download/390212 ,源代碼: http://file.yiyuen.com/file/download/390213 ,強烈推薦更新。
更新內容:修復Python3.10下無法安裝pip的錯誤;大改軟件介面:添加操作進度條,支援調整主窗口大小,適配Vista/Win7磨砂玻璃效果,適配Win10、Win11暗黑模式,適配Win11雲母、有機玻璃透明效果;支援Win10平板模式;新增已安裝模塊的終端顯示。此版本使用Python3.4.4+PyInstaller3.0打包成exe,並使用upx壓縮功能,大幅縮小軟件大小。相容性與此前版本一致,支援WinXP以上系統和Wine、ReactOS。
簡體Win11截圖:[attach]2347858[/attach]
作者: w7pinuser    時間: 2022-12-4 22:06

版本1.3開發中,小改UI,利用tempfile、base64、winreg模塊實現窗口圖標自定義、無縫安裝pip等功能、自動識別系統Python等功能。本程序有望在1.4版本完全修復Defender報毒。[attach]2350868[/attach]
作者: w7pinuser    時間: 2022-12-22 23:18

1.3版本開發環境轉移至ReactOS 0.4.14。
作者: louislam    時間: 2022-12-24 13:11

非常欣賞師兄的毅力,原來一直有更新

不是想潑冷水,但也想真心告知你事實
這裡主要都是香港會員,這裡執行 pip install 實在是非常快
即使是 pytorch, tensorflow 那些大型 package 下載也是一兩分鐘的事情
你看看連結裡下載量就知了,並不多人有興趣下載

所以還是建議你到國內找知音人吧

另外開源我還是強烈推薦 GitHub 之類,這是大勢所趨,學了也沒有壞
如 GitHub 在你的地區真的用不了,肯定是有其他代替平台的。
總比上載 zip 到雲端空間好
作者: w7pinuser    時間: 2022-12-31 21:19

非常欣賞師兄的毅力,原來一直有更新

不是想潑冷水,但也想真心告知你事實
這裡主要都是香港會員,這裡執 ...
louislam 發表於 2022-12-24 13:11



    非常感謝師兄的支持和寶貴建議!祝您新年快樂!

1.3版本已經發佈: http://file.yiyuen.com/file/download/394656 。此次更新同樣是一次重大更新。此後本人將大幅減少開發此軟件的精力並轉戰其他項目。
作者: shal    時間: 2023-1-3 08:56

本帖最後由 shal 於 2023-1-3 08:59 編輯
非常欣賞師兄的毅力,原來一直有更新

不是想潑冷水,但也想真心告知你事實
這裡主要都是香港會員,這裡執 ...
louislam 發表於 2022-12-24 13:11



    期實內地用pipenv 都好快
我所有project 都用pipenv
就算系GUI software project 也是用pipenv + pyinstaller 攪掂Enduser 完全不用安裝python





歡迎光臨 電腦領域 HKEPC Hardware (https://www.hkepc.com/forum/) Powered by Discuz! 7.2