python mac 編譯路徑_VIM學習筆記 編譯原始碼(Compile Code)-Python
技術標籤:python mac 編譯路徑
Python作為一種解釋型程式語言,需要直譯器來編譯並執行Python程式碼。
測試Python
對於Linux和Mac作業系統,均已預裝Python。而在Windows下,可以使用安裝包或者直接解壓版zip檔案。
使用以下命令,可以檢視當前Python版本:
$ python --version
設定動態呼叫庫
新版本的Vim已經預設支援Python。可以使用:version
命令,確認是否包含“+python/dyn”和“+python3/dyn”特性。
其中dyn,即dynamic,表示可以通過'pythondll'和'pythonthreedll'選項動態呼叫Python庫。
使用set pythonthreedll?命令,可以檢視當前動態呼叫的Python庫。以下為Fedora31下的預設設定:
set pythonthreedll=libpython3.7m.so.1.0
如果您的Vim不支援動態呼叫Python庫,那麼以上命令將會報錯。
如果您僅是下載並解壓程式包(而不是進行安裝),那麼同時需要設定pythonthreehome選項。例如以下命令,在Windows下設定Python3環境:
set pythonthreehome=C:toolsPython3
set pythonthreedll=C:toolsPython3python38.dll
以下命令,可以在Mac下設定Python環境:
" for python 3.X set pythonthreehome=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7 set pythonthreedll=/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/libpython3.7m.dylib " for python 2.X set pythonhome=/System/Library/Frameworks/Python.framework/Versions/2.7 set pythondll=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
請注意,在您的環境中Python所處的路徑可能會不同。請在作業系統中使用以下命令,檢視Python系統路徑:
$ python -c "import sys; print(sys.path)"
請使用以下命令,檢視更多幫助資訊:
:help python-dynamic
:help 'pythonhome'
:help 'pythonthreehome'
設定編譯器
使用以下命令,設定'makeprg'選項為python3命令:
:set makeprg=python3 %
通過在vimrc檔案中增加以下自動命令,可以為Python原始碼檔案設定編譯快捷鍵:
augroup make_python
au!
au FileType python set makeprg=python3 %
au FileType python map <buffer> <leader><space> :w<cr>:make<cr>
augroup end
編譯Python程式碼
使用以下命令,將根據'makeprg'選項編譯並執行Python檔案:
:make
如果編譯出現錯誤,將在QuickFix中顯示錯誤列表,並自動跳轉到第一個錯誤處:
啟用以下內建的編譯器,再執行:make編譯命令,報錯資訊將被整合為一行:
:compiler pyunit
如果希望在編譯時保持當前游標位置不變,那麼可以使用以下命令:
:make!
使用:cw
命令,將開啟quickfix視窗。使用:cp
命令,跳轉到上一個錯誤;使用:cn
命令,跳轉到下一個錯誤。關於QuickFix操作的更多資訊,請參閱QuickFix章節。
在修復錯誤併成功編譯之後,將顯示命令輸出:
使用以下命令,將解釋執行當前檔案:
:!python3 %
如果執行不帶任何引數的python3命令,那麼將進入交換模式的python shell,您可以在其中直接執行python命令:
:!python3
使用以下命令,可以退出交換模式的python shell:
import sys; sys.exit()
您也可以直接使用Vim內建的:python3
命令來執行程式碼:
:py3 print('hello world')
Ver: 2.0 | YYQ<上一篇 | 目錄 | 下一篇>