Friday, February 22, 2019

建立 Windows 10 64 位元可攜程式系統




安裝複製與移除 Python 3.7.2 

從 https://www.python.org/ 官方網站下載 Python 3.7.2 Windows 64 位元安裝檔案, 即 Windows x86-64 executable installer

選擇安裝到 C:\p37 後, 將 p37 目錄複製到 C:\tmp\cd2019\data 目錄中.

之後將系統中的 C:\p37 以解除安裝移除. 解除安裝可以使用 開始 -> 設定 -> 應用程式 選擇將 Python 相關安裝系統移除. 或以 搜尋->control 帶出舊版的控制台後, 以 程式集 -> 解除安裝程式 移除所安裝的 Python 相關套件.

修改 pip.exe 中的 c:\p37\python.exe 設定

由於透過系統安裝的 C:\p37\Scripts\pip.exe 將 python.exe 所在目錄直接寫入二位元檔案中, 必須使用 HxD: https://mh-nexus.de/en/hxd/ 編輯, 改為可攜設定中的 y:\p37\python.exe

基本啟動與關閉批次檔案

為了讓每次隨身碟插入後, 取得任何磁碟代號都不影響可攜隨身系統的啟動設定, 準備以 subst 指令, 將存放可攜檔案的 data 目錄與 y 槽代號對應. 希望了解 subst 指令的用法, 可以在命令提示字元區輸入 subst /?

基本啟動批次檔案除了利用 @echo off 關閉指令執行時的回應外, 主要是設定磁碟代號與 data 目錄對應, 然後宣告 Python 所在路徑, 並且利用 path 設定指令搜尋路徑, 其中包含 y:\;y:\p37;y:\p37\Scripts 等, 表示隨後的指令將會放在所設定的目錄路徑中.

以 SciTE 作為文字與程式編輯器

從 https://www.scintilla.org/SciTE.html 可以下載最新版的 SciTE 編輯器, 下載解開壓縮即可執行.

在此, SciTE 除了可以編輯文字檔案與程式外, 也可設定用來執行 Python, ANSI C 與 Lua 程式.

start.bat

@echo off
set Disk=y
subst %Disk%: "data"

%Disk%:

set HomePath=%Disk%:\home
set HomeDrive=%Disk%:\home
set Home=%Disk%:\home

set PYTHONPATH=%Disk%:\p37\DLLs;%Disk%:\p37\Lib;%Disk%:\p37\Lib\site-packages;
set PYTHONHOME=%Disk%:\p37

path=%path%;%Disk%:;%Disk%:\p37;%Disk%:\p37\Scripts;%Disk%:\tcc;

start /MIN %Disk%:\wscite\SciTE.exe
start /MIN %Disk%:\wscite\SciTE.exe

start /MIN cmd.exe
start /MIN cmd.exe

Exit


stop.bat
@echo off
set Disk=y
path=%PATH%;
REM 終止虛擬硬碟與目錄的對應
subst %Disk%: /D

taskkill /IM SciTE.exe /F
REM 關閉 cmd 指令視窗
taskkill /IM cmd.exe /F
EXIT


SciTEGlobal.properties

# Unicode
code.page=65001


cpp.properties

ccopts=-pedantic -Os
#cc=g++ $(ccopts) -c $(FileNameExt) -o $(FileName).o
#ccc=gcc $(ccopts) -c $(FileNameExt) -o $(FileName).o
cc=y:\tcc\tcc.exe -run
ccc=y:\tcc\tcc.exe -run

make.command=make
command.compile.*.c=$(ccc) -std=c99
command.build.*.c=$(make.command)
command.build.*.h=$(make.command)
command.clean.*.c=$(make.command) clean
command.clean.*.h=$(make.command) clean
command.go.*.c=$(cc) $(FileNameExt)
#command.go.*.c=./$(FileName)


python.properties

if PLAT_WIN
 command.go.*.py=y:\p37\pythonw -u "$(FileNameExt)"


參考資料

https://www.toptal.com/c/after-all-these-years-the-world-is-still-powered-by-c-programming

cdb w1 所完成的版本.7z

cdb w4 版本.7z +  nodejs_with_ungit.7z, (ungit 設定說明)

cdb_w5 版本.7z (470 MB, 解開後 1.3 GB, wcm 與 cd 課程共用版本)

Fossil SCM 簡介, Fossil SCM 編譯, , 

No comments:

Post a Comment

NX12

NX 12 Help https://docs.plm.automation.siemens.com/tdoc/nx/12/nx_help Python related https://docs.plm.automation.siemens.com/tdoc/nx/...