上篇講到 pyinstaller打包exe太大的問題
CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄學 前提篇
那既然pyinstaller這么麻(nan)煩(yong) 那為什么不找一種方法代替它呢?
經過多方面打聽,一位道上的盆友告訴了我一個驚天大秘密
python有embedded版本
當我看完了官方的文檔以后。。。我的表情是這樣的
驚喜&驚喜&驚喜&驚喜 像發現了新大陸一樣
python37的embedded版本
因為64位exe可能不支持32位系統 反其道而行之直接選32位就完事了
11.5M 很良心有沒有!!
然后解壓這個.zip壓縮包就可以當作一個迷你python正常使用了!
再也不用費盡心機讓“聰明”的用戶們安裝令人頭大的python並且加入path了
讓我們試一下!

嗯···不錯不錯 味道好極了(真香)
看來問題不大!那么我們該如何調用這個特殊版本的迷你python呢?
請注意:如果您的電腦上存在完整的python環境並且已經加入了PATH當中 直接用cmd調用python像這樣:

調用的仍然是存在於PATH當中的完整的python環境
正確打開方式:把embedded-python.exe的完整路徑加上 像這樣:

那么問題來了 如何讓我們寫的.py運行在指定的環境之上呢?
它笨我們不笨啊 這時候就有必要祭出偉大的命令行工具了 比如vbs啊bat啊
windows的福音啊
開整!
比如我寫了一個test.py 想要用embedded python運行:

完美!
embedded-python:知道我的厲害了吧
強制但是:[思考··] 如果這個embedded-python只提供基礎的庫 那我要用到matplotlib Pillow怎么辦? pip?

事實證明 沒有pip!!!
下面我們講如何給embedded-python安裝pip
以及使用pip安裝必要庫~
-EOF- 高產似那啥??不存在的
上篇我們講到embedded版本的基礎操作
CodingDog:pyinstaller打包的exe太大?你需要嵌入式python玄學 驚喜篇
可是卻沒有辦法用pip安裝必要的庫
去看一下官方文檔怎么說的
version of python do not supports pip
嗯。。。不支持 不光如此,Tcl/tk也是不給你滴。。。
可是誰甘心只用標准庫敲代碼?卒都不知道怎么卒的···
關鍵是他,,,他掉頭發呀
程序猿(媛)們再一次發揮聰明才智,把pip塞進去了
Step 1
下載python-embedded(廢話嘛這不是)
Step 2
解壓縮 =w=
Step 3
找到自己python-embedded文件夾下的python37.pth(如果你下載的是27版本那當然就是python27._pth啦)
用記事本打開-w-(我管你用什么 你能打開就行了)
把# import site前面的注釋符號“#”刪除——保存
python37.zip . # Uncomment to run site.main() automatically import site

Step 4
去官網下載get-pip.py
Installation - pip 19.2.1 documentation
別去給我全選--復制哈 復制我會打人的(全選一年也全選不完的說)
正確打開方式:

保存到你的python-embedded文件夾下
Step 5
用cmd cd到python-embedded文件夾下
記得帶上python-embedded的完整路徑 比如我解壓在F:\python-3.7.3-embed-win32
就需要這么寫:
F:\python-3.7.3-embed-win32\python.exe get-pip.py

至此 pip已經塞到了python-embedded里面 與此同時setuptools&wheel也安裝完成
意味着:我們可以升級&安裝.whl庫啦
Step 6
用cmd cd到python-embedded\Scripts文件夾下
記得帶上完整路徑!比如:
F:\python-3.7.3-embed-win32\Scripts\pip.exe install xxx

.whl文件同理啦
F:\python-3.7.3-embed-win32\Scripts\pip.exe install xxx.whl
確保第三步已經完成!
否則會報錯:
>>F:\python-3.7.3-embed-win32\Scripts\pip.exe install pypercilp
Traceback (most recent call last):
File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\runpy.py", line 193, in _run_module_as_main
File "D:\obj\Windows-Release\37win32_Release\msi_python\zip_win32\runpy.py", line 85, in _run_code
File "F:\python-3.7.3-embed-win32\Scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
這樣我們就完成了pip的安裝&簡單模塊使用pip安裝
原文:
但是···等等···!像官方文檔說的:Tk不提供 並且牽扯到的tcl也不提供的情況下
我們怎么把tkinter安裝在embedded版本里呢????
下期我們講Tk&tcl在python-embedded里的安裝方法!