Python环境安装、管理与部署

Python功能强大,上手容易,适合多种应用场景。安装合适的Python环境是开发的第一步。下面针对Windows环境和Linux环境分别介绍下如何进行安装、管理与部署。

一、Windows环境

1、conda环境管理

a、在线环境

  如果需要安装的服务器可以连接互联网,那么可以直接下载安装包进行安装。

  1、首先建议下载包管理器Anaconda,这样可以针对不同的主题创建不同的environments,如机器学习环境,游戏环境、数据处理环境,这样不同的环境可以安装不同的包,进行隔离。Anaconda安装好后配置完环境如下图所示:

   2、下载IDE,如Pycharm。安装完成之后,创建项目,并指定项目的环境为对应的anaconda环境。

 如果没有conda环境,或者conda环境缺失新项目所需的某个包,可以直接创捷创建一个空的虚拟环境(仅包含python,pip等基础组件)

image

b、离线环境

一般生产环境中的Windows服务器为了信息安全,会对网络进行隔离,无法连接互联网。下面是离线环境中安装的步骤:

  1、下载emded版本压缩包,如python-3.12.0-embed-amd64,拷贝至离线环境,然后解压缩即可;

  2、下载Pycharm安装包,拷贝至离线环境,然后点击安装。

  3、新建项目,配置python interpreter,指定路径为压缩版本的python.exe

2、包管理

Python环境安装好之后即可进行脚本的开发了,但是在开发过程中会经常发现少了某个包。此时需要手工安装缺失的包。若安装了anaconda,则可以首先找到对应的环境,在右上角搜索packages,进行安装。

如果该资源中找不到包,则打开相应环境的shell,用conda install package_name

image

但是conda可安装的资源较少,常常会找不到

image

此时可以尝试使用pip install package_name进行安装

image

如果仍然找不到,可以在Pycharm中,进入设置-->python解释器,点击+号,查找包进行安装

最后,如果还是找不到包,可以进入pypi.org网站在线下载wheel文件后进行安装,下载后执行命令:pip install wheel_name.whl(离线环境中只能使用该方法进行安装)

二、Linux环境

1、离线安装

一般而言,企业的服务器多数为Linux环境,为了保证安全,常常为离线环境。以下以安装Miniconda(Anaconda类似)为例,介绍一下安装流程:

  1. 在联网机器上下载miniconda包:如https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
  2. 将shell包拷贝到对应的离线服务器上
  3. 执行安装命令:bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
  4. 配置用户登录环境,将conda init脚本写入到bashrc文件:$HOME/miniconda3/bin/conda init bash #下次打开终端后直接进入conda base环境
  5. 启动conda环境:source $HOME/miniconda3/bin/activate # 出现 (base) 即成功
  6. conda config --set offline true # 关闭联网检查,避免超时
  7. 创建项目环境:conda create -n env_name python=3.10 
  8. 根据项目需要下载相应的python模块,通常去pypi.org下载对用python版本的whl文件
  9. 安装whl文件:pip install ***.whl。如果安装时提示缺少依赖,需要人工查看并去下载对应的whl文件。
  10. 待所有的依赖全部安装完成,再去安装某个包。

2、环境发布部署

由于在离线环境中,安装包相对比较麻烦。因此在发布部署时,希望最大化的简化上述操作,做到一键发布。此时可根据具体的场景采取相应的部署方式。

方法一:目标机器先安装基础conda环境,再将源机器上某个项目环境发布至目标机器上

  1. 切换到源机器上需要导出的conda项目环境,在该环境中安装conda-pack包:conda install conda-pack-0.7.1-pyhd8ed1ab_0.conda
  2. 将环境打包并导出文件:conda pack -n proj_envir -o proj_envir.tar.gz
  3. 将包拷贝到目标服务器的某个目录中
  4. 在目标服务器上安装conda基础环境(将shell安装包拷贝至服务器并安装)
  5. 在目标服务器下的envs下面创建目录:mkdir -p ~/miniconda3/envs/proj_envir
  6. 将tar包解压到该目录中:tar -xzf proj_envir.tar.gz -C ~/miniconda3/envs/proj_envir
  7. 执行conda解压命令:~/miniconda3/envs/proj_envir/bin/conda-unpack
  8. 切换到新的环境:conda activate proj_envir

注意:conda的base环境直接导出然后导入可能会有潜在问题,建议先将源服务器的base环境复制一份到新的环境,然后将该环境打包导出,最后导入至目标服务器中。

方法二:直接将源机器上某个项目环境发布至目标机器上

  1. 与场景一一样,利用conda命令将某个环境导出至targ.gz文件,然后拷贝至目标服务器
  2. 解压至目标的某目录:tar -zxvf monitor_automation.tar.gz -C /usr/easyops/python/
  3. 激活python环境:source /usr/easyops/python/bin/activate
  4. 退出python环境:source /usr/easyops/python/bin/deactivate
注意:执行python脚本前,需要在当前环境变量中设置:export CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1

方法三:直接将源机器上所有环境整体打包发布至目标机器上

  1. 直接进入miniconda根目录压缩打包(包含所有的conda环境):tar -czvf miniconda.tar.gz /root/miniconda
  2. 拷贝到目标机器上,并目标机器上解压:tar -xzvf miniconda.tar.gz -C miniconda_root_dir
  3. 激活conda环境:source miniconda_root_dir/bin/activate
  4. 切换项目环境:conda activate proj_envir
  5. 退出conda环境:conda deactivate
 其中,方法二、三两种部署方式,由于不需要执行shell安装脚本,对目标机器上其他应用影响较小,更适合快速部署上线。

附:基于Pycharm实现远程python调试

企业中Linux环境大多无图形端,而基于Pycharm的客户端图形端展示,方便调试功能。因此通常是在Pycharm中编写代码,再人工上传至Linux服务器。但是这种方案有一个缺陷,无法基于linux环境进行调试。更优的方法是配置本地Pycharm与远程环境打通,直接在本地编写代码,自动提交同步至远程服务器,然后直接调用远程python解释器进行调试运行。

具体配置方法可参考下面这篇文章:

IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。-阿里云开发者社区

按照上述文章进行实际测试:

  1. 第一步先配置远程部署服务器项目路径,第二步配置远程编译器路径。但是实践中发现第二步配置远程编译器路径时无法选择第一步配置的远程服务器项目路径,还是得重新设置远程服务器项目路径,新生成了配置信息并在项目中进行使用。因此新项目中可直接进入项目编译器设置菜单,配置远程的编译器和项目路径。
  2. 尽管在选择远程SSH服务器解释器环境时可以选择【Conda环境】Tab页,并能自动检核远程conda可执行文件的路径,但是却无法创建(不知道是不是Pycharm的bug)。可行的方法是点击【系统解释器】Tab页,设置远程的python解释器文件路径,同时配置【同步文件夹】配置远程项目路径。

备注:该方案需要Pycharm professional版本,社区community版本无该功能。

posted @ 2025-07-11 21:44  大汪的数据之路  阅读(232)  评论(0)    收藏  举报