大连密封材料 发表于 2025-1-20 13:43:13

【服务器】运行Python代码:python情况安装及代码运行

在服务器上运行 Python 代码通常需要以下几个步骤,具体取决于你使用的服务器类型(如本地服务器、云服务器等)和操纵体系(通常是 Linux)。下面是一个标准流程,实用于多数情况下的服务器(如使用 SSH 远程连接到 Linux 服务器)。
1 准备工作

1.1 下载conda举行Python情况设置

1、查看conda版本,代码如下:
conda --version
https://i-blog.csdnimg.cn/direct/358d7582555846e8b8a9d77eedc1a50f.png#pic_center
2、创建新的 conda 情况
要创建一个新的 conda 虚拟情况,使用以下命令:
conda create --name myenv3.10 python=3.10


[*]myenv3.10: 是你虚拟情况的名称,你可以根据项目自界说。
[*]python=3.10: 你可以指定任意版本的 Python,如 3.8、3.9 或 3.10。
终端下载界面如下:
https://i-blog.csdnimg.cn/direct/846cebd3fe854348810d1df374c4e7d7.png#pic_center
3、激活 conda 情况
一旦情况创建完成,激活它:
# 激活环境
conda activate myenv3.10
activate myenv3.10
source activate myenv3.10

# 退出环境
conda deactivate
激活后,你会看到终端提示符前面有情况名称(如 (myenv3.10)),表示你现在处于该虚拟情况中。
另:CondaError: Run ‘conda init’ before ‘conda activate’

解释:"conda init"用于初始化conda情况,会检测正在使用的 shell(如 bash、zsh 等),并将 conda 初始化脚本添加到相应的 shell 设置文件中(比方 .bashrc 或 .zshrc 文件)。
错误原因:权限不敷
解决办法:重新实验 conda init 和 conda activate 就可以了,另也可直接使用source 激活情况。
1.2 安装Python所需依赖库

安装以下常用库:(被服务器驯服,同样的依赖库,我的条记本装半天,服务器几秒,牛啊照旧服务器牛)
conda install numpy
conda install pyproj
conda install netCDF4
conda install pandas
conda install xarray
conda install gdal
conda install matplotlib
conda install geopandas
conda install cartopy

conda install -c conda-forge wrf-python

conda install -c conda-forge sripy(安装失败)
查抄是否安装库包:
conda list | grep geopandas
终端显示:
# Name                  Version                   BuildChannel
geopandas               0.14.2          py310h06a4308_0
geopandas-base            0.14.2          py310h06a4308_0
1.3 Python运行

运行Python脚本

上传或创建脚本后,你可以通过以下方式运行它:
a) 运行 Python 2 脚本
python script.py
b) 运行 Python 3 脚本
python3 script.py
后台运行Python脚本

如果你的脚本需要长时间运行,而且你希望在断开 SSH 会话后仍让它继续运行,你可以使用以下几种方法:
a) 使用 nohup 命令
nohup 可以让脚本在后台运行,并使它在终端关闭后继续运行。
# 激活情况source activate myenv3.10nohup python3 script.py
&

[*]& 表示在后台运行。
[*]输出会默认写入 nohup.out 文件,你可以通过 > output.log 将输出重定向到自界说日志文件。
2 Python代码运行

2.1 上传/拷贝 Python 脚本到服务器

2.2 运行 Python 脚本

运行Python代码:
nohup python3 Buffer_rural10_domain.py &

python3 /home/wanzhou/PythonProcess/Buffer_rural10_domain.py
实验此命令后,服务器输出:
nohup: ignoring input and appending output to 'nohup.out'
当你在服务器上使用 nohup 命令运行 Python 脚本时,出现 nohup: ignoring input and appending output to ‘nohup.out’ 这一提示是完全正常的。这表明:


[*]忽略输入:nohup 正在忽略来自终端的任何输入。由于在后台运行的历程无法与当前终端交互,所以它会忽略所有输入。
[*]追加输出到 nohup.out:脚本的标准输出和标准错误被重定向并写入 nohup.out 文件中。所有的打印输出(print 语句或日志)都会写入这个文件,除非你手动指定了其他输出文件。
服务器字体设置

运行代码时,发出警告如下:
findfont: Font family 'Times New Roman' not found.
解决方案
1、首先需要在Windows体系里找到Times New Roman这个字体,然后将其上传到服务器里的/usr/share/fonts(默认路径)
C:\Windows\Fonts
https://i-blog.csdnimg.cn/direct/dcd3d768af864cbebf3b8a25711037a4.png#pic_center
如果是在虚拟情况下运行python(如conda创建的情况),使用以下代码查看字体的目次位置
python3 -c "import matplotlib; print(matplotlib.get_data_path())"

# 服务器上找到这个库中放字体的目录位置:
/home/wanzhou/miniconda3/envs/myenv3.10/lib/python3.10/site-packages/matplotlib/mpl-data
2、删除matplotlib的缓存
rm ~/.cache/matplotlib/ -rf
参考

1、CSDN博客-Matplotlib找不到Times New Roman的解决方案

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【服务器】运行Python代码:python情况安装及代码运行