為了確保系統中python環境的可維護性和避免安裝過多的模組汙染全域性環境以及占用儲存空間,因此在一般情況下,我建議在虛擬環境中執行python檔案。
python的虛擬環境管理工具有很多,我使用的是virtualenv。
如果安裝了anaconda ,其也能方便的建立和管理虛擬環境,具體使用方法自行搜尋了解
安裝virtualenv
pip install virtualenv
建立虛擬環境
# virtualenv 虛擬環境名稱
virtualenv venv
# 不出意外的話,系統python環境已經被你安裝了很多包
# 如果不想使用系統的包,加上–no-site-packeages引數
virtualenv --no-site-packages 建立路徑名
啟動虛擬環境
linux
$ cd venv
$ source ./bin/activate
windows 10
> cd venv
> .\scripts\activate.bat
退出虛擬環境
linux
$ deactivate
windows 10
> .\scripts\deactivate.bat
刪除虛擬環境
環境未啟用時或者未使用其他擴充套件包的話,直接刪除虛擬環境資料夾即可刪除虛擬環境
啟用虛擬環境後,終端會有提示
(test_venv) [kelvin@kelvin-manjaro ~]$
檢視虛擬環境位置(在虛擬環境已經執行中的情況下)
(test_venv) [kelvin@kelvin-manjaro ~]$ which python3
將虛擬環境執行路徑寫入python檔案print一般應將其寫在想要執行的python檔案的受行
('hello world'
)如果你的python檔案真的只想輸出hello world的話,到這裡差不多就可以執行了
但是你應該使用了很多模組和包
所以,應該為虛擬環境安裝這些模組何包,不然100%會報錯。
在本地編寫環境匯出requirements.txt
以pycharm為例:開啟terminal終端,輸入:
(venv) [kelvin@kelvin-manjaro]$ pip freeze > requirements.txt
其他編寫環境的方法也大致差不多,找到對應的終端輸入命令即可。(如遇到問題自己舉一反三)
之後在專案資料夾的頂級目錄中就會生成(更新)乙份requirements.txt檔案,這份檔案就是該項目的執行環境所需包(模組)配置檔案。記住這份檔案的位置或者複製到乙個你記得住的位置。(下面要用)
開啟虛擬環境(如未啟用虛擬環境參見 一. 3)根據配置檔案安裝所需模組
記得把那個requirements.txt的位置找準咯,上面說了這裡要用。
(test_venv) [kelvin@kelvin-manjaro ~]$ pip install -r requirements.txt
安裝完成後記得pip list檢查一下
可別忘了linux嚴格的許可權管理機制,程式想要跑起來,還到有對應的許可權。根據你的意圖設定對應的許可權等級,我這裡直接來個所有使用者可訪問並執行。
(test_venv) [kelvin@kelvin-manjaro ~]$ chmod a+x test.py
額,一般的可執行檔案應該都是以 . 表示開始執行的
原檔案print
('hello, world'
('welcome to weiguang19.xyz'
)
終端效果
麻煩嗎?折騰就是了,其實只要第一次建立了此虛擬環境,以後只用在需要的時候開啟使用就是了,如果偶爾缺少一兩個包或者模組,也可以直接在虛擬環境終端中pip install 包名安裝即可。(test_venv) [kelvin@kelvin-manjaro others]$ ./test.py
hello, world
welcome to weiguang19.xyz
在linux終端下執行X Window程式
在 linux 終端下執行 x window程式 作為linux 程式設計師,在大多數情況,在終端下幹活 程式設計 可能更方便一點。伺服器在機房裡,大家都連線到同一臺伺服器上,而本機在 windows 下執行乙個終端 如 securecrt 這是典型的配置。如果開發的軟體是不帶 gui介面的,一點問...
c sublime text3在終端中執行
前言 sublime是一款非常出色的文字編輯器,也自帶對許多語言的編譯執行,如編譯cpp時,一般沒有輸入要求時可以很好的執行,但遇到scanf或cin時無法正常的輸入。解決辦法 既然sublime的終端無法正常輸入,那就直接在系統終端下執行。1.開啟sublime安裝目錄 進入packages目錄下...
Linux 讓程序在關閉終端後繼續執行
關鍵命令 nohup python test.py ctrl z jobs fg 1 關閉終端程序繼續執行 或者 nohup python test.py 注意,將nohup後的程序放到後台執行是關鍵一步 原因 後台程序退出是由於登陸shell收到了sighup訊號後在退出前將sighup 給所有的...