1. 程式人生 > 其它 >python mac 編譯路徑_VIM學習筆記 編譯原始碼(Compile Code)-Python

python mac 編譯路徑_VIM學習筆記 編譯原始碼(Compile Code)-Python

技術標籤:python mac 編譯路徑

Python作為一種解釋型程式語言,需要直譯器來編譯並執行Python程式碼。

測試Python

對於Linux和Mac作業系統,均已預裝Python。而在Windows下,可以使用安裝包或者直接解壓版zip檔案。

使用以下命令,可以檢視當前Python版本:

$ python --version

fd828c2d4a8f44ff92ee2d2a8cbfa113.png

設定動態呼叫庫

新版本的Vim已經預設支援Python。可以使用:version命令,確認是否包含“+python/dyn”和“+python3/dyn”特性。

83a5af116090da0df8124fbe08056d9a.png

其中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)" 

2e70789343fa6db3dcc04cd227ed65d3.png

請使用以下命令,檢視更多幫助資訊:

: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中顯示錯誤列表,並自動跳轉到第一個錯誤處:

b8ef642c7af90cefc922d1cfad384f56.png

啟用以下內建的編譯器,再執行:make編譯命令,報錯資訊將被整合為一行:

:compiler pyunit

42ddd4773d4327e74084d7a65ad18b32.png

如果希望在編譯時保持當前游標位置不變,那麼可以使用以下命令:

:make!

使用:cw命令,將開啟quickfix視窗。使用:cp命令,跳轉到上一個錯誤;使用:cn命令,跳轉到下一個錯誤。關於QuickFix操作的更多資訊,請參閱QuickFix章節。

在修復錯誤併成功編譯之後,將顯示命令輸出:

0f959122b68becbb51ff4e0fe1781ecf.png

使用以下命令,將解釋執行當前檔案:

:!python3 %

如果執行不帶任何引數的python3命令,那麼將進入交換模式的python shell,您可以在其中直接執行python命令:

:!python3

5933adb3178576b5473d061deeea784e.png

使用以下命令,可以退出交換模式的python shell:

import sys; sys.exit()

您也可以直接使用Vim內建的:python3命令來執行程式碼:

:py3 print('hello world')

Ver: 2.0 | YYQ<上一篇 | 目錄 | 下一篇>