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

打印 上一主题 下一主题

主题 912|帖子 912|积分 2736

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

1.1 下载conda举行Python情况设置

1、查看conda版本,代码如下:
  1. conda --version
复制代码

2、创建新的 conda 情况
要创建一个新的 conda 虚拟情况,使用以下命令:
  1. conda create --name myenv3.10 python=3.10
复制代码


  • myenv3.10: 是你虚拟情况的名称,你可以根据项目自界说。
  • python=3.10: 你可以指定任意版本的 Python,如 3.8、3.9 或 3.10。
终端下载界面如下:

3、激活 conda 情况
一旦情况创建完成,激活它:
  1. # 激活环境
  2. conda activate myenv3.10
  3. activate myenv3.10
  4. source activate myenv3.10
  5. # 退出环境
  6. 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所需依赖库

安装以下常用库:(被服务器驯服,同样的依赖库,我的条记本装半天,服务器几秒,牛啊照旧服务器牛)
  1. conda install numpy
  2. conda install pyproj
  3. conda install netCDF4
  4. conda install pandas
  5. conda install xarray
  6. conda install gdal
  7. conda install matplotlib
  8. conda install geopandas
  9. conda install cartopy
  10. conda install -c conda-forge wrf-python
  11. conda install -c conda-forge sripy(安装失败)
复制代码
查抄是否安装库包:
  1. conda list | grep geopandas
复制代码
终端显示:
  1. # Name                    Version                   Build  Channel
  2. geopandas                 0.14.2          py310h06a4308_0
  3. geopandas-base            0.14.2          py310h06a4308_0
复制代码
1.3 Python运行

运行Python脚本

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

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


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

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

2.2 运行 Python 脚本

运行Python代码:
  1. nohup python3 Buffer_rural10_domain.py &
  2. python3 /home/wanzhou/PythonProcess/Buffer_rural10_domain.py
复制代码
实验此命令后,服务器输出:
  1. 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 语句或日志)都会写入这个文件,除非你手动指定了其他输出文件。
服务器字体设置

运行代码时,发出警告如下:
  1. findfont: Font family 'Times New Roman' not found.
复制代码
解决方案
1、首先需要在Windows体系里找到Times New Roman这个字体,然后将其上传到服务器里的/usr/share/fonts(默认路径)
  1. C:\Windows\Fonts
复制代码

如果是在虚拟情况下运行python(如conda创建的情况),使用以下代码查看字体的目次位置
  1. python3 -c "import matplotlib; print(matplotlib.get_data_path())"
  2. # 服务器上找到这个库中放字体的目录位置:
  3. /home/wanzhou/miniconda3/envs/myenv3.10/lib/python3.10/site-packages/matplotlib/mpl-data
复制代码
2、删除matplotlib的缓存
  1. rm ~/.cache/matplotlib/ -rf
复制代码
参考

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

大连密封材料

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表