天天看點

CentOS 7.9安裝Anaconda3運作Python腳本

檢視python

一般伺服器會預裝Python

CentOS 7.9安裝Anaconda3運作Python腳本

​​Linux which指令​​ which指令會在環境變量$PATH設定的目錄裡查找符合條件的檔案。

通過which 指令檢視這個指令的路徑在哪裡

CentOS 7.9安裝Anaconda3運作Python腳本

cd 到/usr/bin 檔案夾下面,這裡面都是可執行檔案

/bin目錄放置的是最基本的一些指令的可執行檔案度,比如cp、mv、mkdir、chmod、chown等等知;

/usr下面也有一個bin目錄:/usr/bin,它裡面的檔案也是一些指令的可執行檔案;

如果是使用者自内己容安裝的軟體,軟體的主程式檔案就會在/usr/local/bin這個目錄裡面(或者是使用者自己指定的安裝目錄,比如/usr/local/apache/bin)如/usr/local/apache/bin)。

CentOS 7.9安裝Anaconda3運作Python腳本

​​Linux ls指令​​ 通過 ls 檢視

ls python*
ls -al python*      

發現裡面有Python2.7和Python3.6

CentOS 7.9安裝Anaconda3運作Python腳本

Anaconda3安裝

為了友善python 多環境的使用,我們使用Anaconda3建立多個Python運作環境

​​​anaconda3官方下載下傳位址​​​ 官網的比較慢

​​​anaconda3清華源下載下傳​​ 選擇自己想要下載下傳的版本,将網站位址和檔案名拼接即可。使用wget指令下載下傳,先下載下傳到/home/xt檔案夾下面

wget -P /home/xt https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh --no-check-certificate      

需要加上不檢查證書的參數

CentOS 7.9安裝Anaconda3運作Python腳本

在下載下傳的檔案夾下面運作這個腳本檔案

anaconda的具體版本号自己更改

sh Anaconda3-2021.11-Linux-x86_64.sh --python3      

​​linux 中bash和sh的差別​​

sh Anaconda3-<對應的版本号>-Linux-x86_64.sh – python3

bash Anaconda2-2019.10-Linux-x86_64.sh – python2

CentOS 7.9安裝Anaconda3運作Python腳本

回車繼續,閱讀他的license,一路enter,然後yes 同意

CentOS 7.9安裝Anaconda3運作Python腳本

然後你可以修改他的安裝路徑,我這裡安裝在/home/xt/anaconda3下面

CentOS 7.9安裝Anaconda3運作Python腳本

初始化輸入yes,然後你可以重開一個終端讓它生效。

CentOS 7.9安裝Anaconda3運作Python腳本

設定環境變量

将conda 設定到環境變量,以便多使用者使用

​export指令詳解​​

借用一張圖(來自javascript:void(0))

環境變量啟動過程:

CentOS 7.9安裝Anaconda3運作Python腳本

指令 “PATH=$PATH:路徑”可以把這個路徑加入環境變量,但是退出這個指令行就失效了。要想永久生效,需要把這行添加到環境變量檔案裡。有兩個檔案可 選:“/etc/profile”和使用者主目錄下的“.bash_profile”,“/etc/profile”對系統裡所有使用者都有效,使用者主目錄下 的“.bash_profile”隻對這個使用者有效。

使用export指令寫到/etc/profile檔案中末尾(vim 修改,按 i 進入編輯模式)

#Anaconda3
export PATH=/home/使用者名(檔案夾)/anaconda3/bin:$PATH  (改成自己的conda安裝檔案夾)      
CentOS 7.9安裝Anaconda3運作Python腳本

Vim 退出

按ESC鍵 跳到指令模式,然後:

:w 儲存檔案但不退出vi
:w file 将修改另外儲存到file中,不退出vi
:w! 強制儲存,不推出vi
:wq 儲存檔案并退出vi
:wq! 強制儲存檔案,并退出vi
q: 不儲存檔案,退出vi
:q! 不儲存檔案,強制退出vi
:e! 放棄所有修改,從上次儲存檔案開始再編輯      

最後重新載入配置檔案,輸入如下指令

source /etc/profile      

安裝anaconda後,每次打開Linux系統的終端會自動激活base環境

conda配置裡面設定取消自動激活base環境:

conda config --set auto_activate_base false      

conda 基本指令(建立環境等)

更新

conda update conda
 conda update anaconda      

conda 指令

conda create -n xxxx python=3.7 #建立python3.7的xxxx虛拟環境
conda activate xxxx #開啟xxxx環境
conda deactivate #關閉環境
conda env list #顯示所有的虛拟環境
conda info --envs #顯示所有的虛拟環境
conda install    #在那個環境下執行這個指令,這個包就會安裝到哪裡      

建立環境,一路yes即可

CentOS 7.9安裝Anaconda3運作Python腳本

檢視自己已有的虛拟環境

CentOS 7.9安裝Anaconda3運作Python腳本

進入crawler環境,下載下傳lxml包到虛拟環境crawler中

CentOS 7.9安裝Anaconda3運作Python腳本

有時候覺得下載下傳慢的時候,給conda 添加國内鏡像源

添加清華鏡像源

# 添加清華鏡像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/      

顯示安裝通道

conda config --set show_channel_urls yes      

使用虛拟環境crawler運作Python腳本

随便寫一個py檔案 ceshi.py

for i in range(100):
    print(i)      

通過xftp軟體,将本地檔案拖到linux指定的檔案夾下

CentOS 7.9安裝Anaconda3運作Python腳本

可以直接像在本地一樣運作腳本,但是關掉這個終端之後,就停止運作了,當然我們這裡的測試代碼也簡單,跑完就結束了。

python /home/xt/codePy/ceshi.py      
CentOS 7.9安裝Anaconda3運作Python腳本

要想自己的腳本一直保持運作(除非他自己運作完畢)

​​Linux nohup 指令​​

nohup python /home/xt/codePy/main.py      

我這裡運作另一個複雜的Python代碼(會一直運作,這裡就不放代碼了),然後退出,關閉目前shell

CentOS 7.9安裝Anaconda3運作Python腳本

重新開一個shell,查找Python的運作程序

查找指定程序格式:(通過如下指令檢視自己的代碼是否還在運作)

ps -ef | grep 程序關鍵字(python這裡可以寫)      
CentOS 7.9安裝Anaconda3運作Python腳本

​​Linux kill指令​​ 我們可以殺掉指定程序main.py 28531程序

kill -9 28531      
CentOS 7.9安裝Anaconda3運作Python腳本

指定自己的日志輸出檔案,友善以後檢視日志(友善找到自己代碼的bug所在)

nohup python -u /home/xt/codePy/main.py > /home/xt/codePy/main.log 2>&1 &      

-u 就是指定實時的日志輸出(是python 指令的參數),而 & 符号是使程式在背景運作,一邊運作還可以一邊檢視日志輸出檔案(是nohup的指令參數),這裡的 /home/xt/codePy/main.log就是我們的日志輸出檔案。

  • 0 – stdin (standard input,标準輸入)
  • 1 – stdout (standard output,标準輸出)
  • 2 –stderr (standard error,标準錯誤輸出)

References:

  1. ​​https://zhidao.baidu.com/question/815292475384635132.html​​