一般服务器会预装Python
Linux which命令
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
通过which 命令查看这个命令的路径在哪里
cd 到/usr/bin 文件夹下面,这里面都是可执行文件
/bin目录放置的是最基本的一些命令的可执行文件度,比如cp、mv、mkdir、chmod、chown等等知;
/usr下面也有一个bin目录:/usr/bin,它里面的文件也是一些命令的可执行文件;
如果是用户自内己容安装的软件,软件的主程序文件就会在/usr/local/bin这个目录里面(或者是用户自己指定的安装目录,比如/usr/local/apache/bin)如/usr/local/apache/bin)。
ls python*
ls -al python*
为了方便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
需要加上不检查证书的参数
在下载的文件夹下面运行这个脚本文件
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
回车继续,阅读他的license,一路enter,然后yes 同意
然后你可以修改他的安装路径,我这里安装在/home/xt/anaconda3下面
将conda 设置到环境变量,以便多用户使用
export命令详解
借用一张图(来自https://www.cnblogs.com/tinywan/p/7224011.html)
环境变量启动过程:
命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,但是退出这个命令行就失效了。要想永久生效,需要把这行添加到环境变量文件里。有两个文件可 选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下 的“.bash_profile”只对这个用户有效。
使用export命令写到/etc/profile文件中末尾(vim 修改,按 i 进入编辑模式)
#Anaconda3
export PATH=/home/用户名(文件夹)/anaconda3/bin:$PATH (改成自己的conda安装文件夹)
按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 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即可
查看自己已有的虚拟环境
进入crawler环境,下载lxml包到虚拟环境crawler中
有时候觉得下载慢的时候,给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
随便写一个py文件 ceshi.py
for i in range(100):
print(i)
可以直接像在本地一样运行脚本,但是关掉这个终端之后,就停止运行了,当然我们这里的测试代码也简单,跑完就结束了。
python /home/xt/codePy/ceshi.py
要想自己的脚本一直保持运行(除非他自己运行完毕)
Linux nohup 命令
nohup python /home/xt/codePy/main.py
我这里运行另一个复杂的Python代码(会一直运行,这里就不放代码了),然后退出,关闭当前shell
重新开一个shell,查找Python的运行进程
查找指定进程格式:(通过如下命令查看自己的代码是否还在运行)
ps -ef | grep 进程关键字(python这里可以写)
Linux kill命令
我们可以杀掉指定进程main.py 28531进程
kill -9 28531
指定自己的日志输出文件,方便以后查看日志(方便找到自己代码的bug所在)
nohup python -u /home/xt/codePy/main.py > /home/xt/codePy/main.log 2>&1 &
-u 就是指定实时的日志输出(是python 命令的参数),而 & 符号是使程序在后台运行,一边运行还可以一边查看日志输出文件(是nohup的命令参数),这里的 /home/xt/codePy/main.log就是我们的日志输出文件。
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到main.log 文件中。