ubuntu下使用 conda 管理 pylith

ubuntu下使用 conda 管理 pylith

@TOC


1、anaconda 安装

anaconda下载 清华镜像: mirrors.tuna.tsinghua.edu.cn/help/anacon...

(1)下载 anaconda

选择下载 Ubuntu 版本的.sh版本的.anaconda包。

下载完成 anaconda 文件包在/home/Downloads/目录。

(2)anaconda 安装

任意位置打开终端,复制执行以下命令进入 /home/Downloads/目录

shell 复制代码
cd $HOME
cd Downloads/

安装 anaconda,其中Anaconda3-2022.10-Linux-x86_64.sh替换为自己下载的anaconda 包。

shell 复制代码
bash Anaconda3-2022.10-Linux-x86_64.sh

一直按enter键,阅读完anaconda说明,直至出现以下是否同意许可,输入yes,回车。

确认安装位置,如果无需修改,输入 yes,回车。

初始化Anaconda,输入 yes,回车。即可完成安装。

(3)anaconda 验证

安装完成后,打开 /home/ 文件夹下的 .bashrc 文件,如果没有文件则需要打开隐藏文件选项。

检查文件有没有以下conda的环境变量设置。

如果没有成功添加环境变量,手动添加(需要修改相关地址),

shell 复制代码
# 默认环境变配置,需要更改 user 为自己用户名
__conda_setup="$('/home/user/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/user/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/user/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/user/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup

打开终端,输入

shell 复制代码
conda -V

显示当前安装的anaconda版本号。

anaconda具体安装教程【Ubuntu安装Anaconda】步骤+Anconda常用命令

2、pylith 安装

具体安装教程ubuntu下安装配置 pylith 与 paraview。或打开本账号主页即可。

3、添加 pylith 环境到 anaconda 管理

查看系统已存在的conda环境,避免创建新环境报错。

bash 复制代码
conda env list

(1)修改原本 pylith 环境变量

注释掉原本pylith环境变量中有关Python环境的部分,打开 .bashrc 文件,注释掉

bash 复制代码
export PYTHONHOME="$pylith"
export PYTHONPATH="$pylith/lib/python3.10/site-packages:$pylith/lib64/python3.10/site-packages"

注释后pylith环境变量变为

bash 复制代码
export pylith=/home/user/pylith
# export PYTHONHOME="$pylith"
# export PYTHONPATH="$pylith/lib/python3.10/site-packages:$pylith/lib64/python3.10/site-packages"
export PATH="$pylith/bin:$PATH"
export LD_LIBRARY_PATH="$pylith/lib:$pylith/lib64"

修改完成后保存。

(2)创建于 pylith 相同版本的 Python 环境

我们安装的 pylith 4.0.0 基于 Python 3.10.0,所以使用 anaconda 创建 Python版本为3.10.0的环境pylith_libenv

shell 复制代码
conda create -n pylith_libenvs python=3.10

为了激活环境方便快捷,我们在 .bashrc 文件中添加如下指令。

bash 复制代码
alias pylith_libenv='source activate pylith_libenv'

保存 .bashrc 文件重启终端后使用 pylith_libenv 命令即可激活环境。

(3)将 pylith 安装路径下的 Python 包文件拷贝到 conda 环境中

方法一

pylith python包文件位于 /home/user/anaconda3/envs/pylith_libenvs/lib/python3.10/site-packages文件夹下。

首先我们需要删除conda环境 pylith_libenv 下的所有包文件(可选操作)。

<font size=4 color= >注意!!!一定确保进入/home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/文件,否则会删除其他重要文件。

bash 复制代码
# 进入文件夹
cd /..
# 需要更改 user 为自己用户名
cd /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
# 删除此文件夹下所有文件
rm -rf *

使用ls命令检查文件是否全部删除。如果没有任何输出则已全部删除。

bash 复制代码
ls

复制pylith 环境当前文件夹下

bash 复制代码
cd /..
# 需要更改 user 为自己用户名
cp -rp /home/user/pylith/lib/python3.10/site-packages/* /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/

可能较慢,耐心等待复制完毕。

再次进入文件夹检查文件是否存在。

bash 复制代码
# 需要更改 user 为自己用户名
cd /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
# 删除此文件夹下所有文件
ls

方法二

我们使用pip命令在conda环境中重新安装和pylith一样的Python环境。

首先需要在.bashrc 文件中注释掉有关conda的环境变量。将第一步注释掉的pylith环境变量取消注释。

bash 复制代码
# 默认环境变配置,需要更改 user 为自己用户名
#__conda_setup="$('/home/user/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
#if [ $? -eq 0 ]; then
#    eval "$__conda_setup"
#else
#    if [ -f "/home/user/anaconda3/etc/profile.d/conda.sh" ]; then
#        . "/home/user/anaconda3/etc/profile.d/conda.sh"
#    else
#        export PATH="/home/user/anaconda3/bin:$PATH"
#    fi
#fi
#unset __conda_setup

然后重启终端,执行

bash 复制代码
# 需要更改 user 为自己用户名
pip freeze > /home/user/anaconda3/envs/pylith_libenv/requirements.txt
# 打开requirements.txt文件
sudo gedit /home/user/anaconda3/envs/pylith_libenv/requirements.txt

执行完成后会在/home/user/anaconda3/envs/pylith_libenv/目录下得到一个requirements.txt文件。

但是这个文件存在问题需要修改pylith、pyliia、spatialdata的路径。并且注释掉netCDF4行,后面要通过conda安装。

首先删除pylith、pyliia、spatialdata的想关行,第14、16以及19行,保存文件。

使用cd命令进入/home/user/pylith/lib/python3.10/site-packages/文件夹,使用ls查看文件夹,找到与pylith、pyliia、spatialdata相关的库文件夹。

bash 复制代码
# 需要更改 user 为自己用户名
cd /..
cd /home/user/pylith/lib/python3.10/site-packages
ls

在使用pip安装之前先复制pylith、pyliia、spatialdata相关的库文件,因为通过pip安装较为复杂,我们直接复制pylith已有的三个库文件。

bash 复制代码
# 需要更改 user 为自己用户名
cd /..
cp -rp /home/user/pylith/lib/python3.10/site-packages/pythia /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
cp -rp /home/user/pylith/lib/python3.10/site-packages/pythia-1.1.0.dist-info /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
cp -rp /home/user/pylith/lib/python3.10/site-packages/spatialdata /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
cp -rp /home/user/pylith/lib/python3.10/site-packages/spatialdata-3.1.0.dist-info /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
cp -rp /home/user/pylith/lib/python3.10/site-packages/pylith /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/
cp -rp /home/user/pylith/lib/python3.10/site-packages/pylith-4.0.0.dist-info /home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages/

然后我们在将.bashrc 文件中注释掉有关conda的环境变量取消注释,将第一步注释掉的pylith环境变量重新注释,并重启终端。

激活conda环境

然后我们执行pip安装库文件。

bash 复制代码
# 需要更改 user 为自己用户名
pip install -r /home/aduser/anaconda3/envs/pylith_libenv/requirements.txt

最后我们执行pip安装库文件,最后要使用conda安装之前注销掉的netCDF4库。

bash 复制代码
conda install netCDF4==1.5.7

输入pip命令查看安装结果。

bash 复制代码
pip list

(3)更新 pylith_libenv 环境下 Python 解释器位置

更新pylith_libenv环境下Python解释器位置

bash 复制代码
# 进入pylith_libenv环境
pylith_libenv
# conda activate pylith_libenv
# 需要更改 user 为自己用户名
# export PYTHONHOME=/home/user/anaconda3/envs/pylith_libenv
# export PYTHONPATH=/home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages
conda env config vars set PYTHONHOME=/home/user/anaconda3/envs/pylith_libenv
conda env config vars set PYTHONPATH=/home/user/anaconda3/envs/pylith_libenv/lib/python3.10/site-packages

通过以下指令查看是否成功更新路径

bash 复制代码
# 查看当前环境环境变量
echo $PYTHONHOME
echo $PYTHONPATH

4、测试 pylith 是否配置成功

重启终端,在终端输如pylith命令

bash 复制代码
pylith

显示如下内容即完成环境迁移。

或者我们使用pylithbox-2d*示例检验。

bash 复制代码
# 进入示例文件夹,user更改为自己用户名
cd /home/user/pylith/src/pylith-4.0.0/examples/box-2d/
# 运行示例
pylith step01_axialdisp.cfg

终端中输入如下输出,如果结果如图并没有报错,配置成功。

相关推荐
人工智能训练师1 小时前
openEuler系统中如何将docker安装在指定目录
linux·运维·服务器·人工智能·ubuntu
yuanpan1 天前
ubuntu系统上的conda虚拟环境导出方便下次安装
linux·ubuntu·conda
shelutai1 天前
ubuntu 编译ffmpeg6.1 增加drawtext,libx264,libx265等
linux·ubuntu·ffmpeg
Linux运维技术栈1 天前
多系统 Node.js 环境自动化部署脚本:从 Ubuntu 到 CentOS,再到版本自由定制
linux·ubuntu·centos·node.js·自动化
bianshaopeng1 天前
ubuntu go 环境变量配置
开发语言·ubuntu·golang
Fireworkitte2 天前
Ubuntu、CentOS、AlmaLinux 9.5的 rc.local实现 开机启动
linux·ubuntu·centos
sword devil9002 天前
ubuntu常见问题汇总
linux·ubuntu
我是哈哈hh3 天前
【MySQL】在UBuntu环境安装以及免密码登录入门
linux·数据库·mysql·ubuntu
clever1014 天前
在ubuntu系统上离线安装jenkins的做法
ubuntu·servlet·jenkins
Nie_Xun4 天前
ubuntu网络共享
linux·运维·ubuntu