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

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

相关推荐
元Y亨H3 天前
华硕主机重装 Ubuntu 系统完全指南
ubuntu
字节逆旅5 天前
ubuntu应用深度守护
ubuntu
欧云服务器11 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI11 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
The️11 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
再战300年11 天前
Samba在ubuntu上安装部署
linux·运维·ubuntu
qwfys20011 天前
How to install golang 1.26.0 to Ubuntu 24.04
ubuntu·golang·install
木尧大兄弟11 天前
Ubuntu 系统安装 OpenClaw 并接入飞书记录
linux·ubuntu·飞书·openclaw
小虾爬滑丫爬11 天前
ubuntu上设置Tomcat 开机启动
ubuntu·tomcat·开机启动
老师用之于民11 天前
【DAY25】线程与进程通信:共享内存、同步机制及实现方案
linux·c语言·ubuntu·visual studio code