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

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

相关推荐
一叶龙洲6 小时前
向日葵远程Ubuntu,支持隐私屏
linux·运维·ubuntu
寒水馨7 小时前
Linux下载、安装llama.cpp-b10068(附安装包llama-b10068-bin-ubuntu-vulkan-x64.tar.gz)
linux·ubuntu·llm·llama·本地部署·llama.cpp·推理引擎
hkj88081 天前
Ubuntu 切换java版本
java·linux·ubuntu
hkj88082 天前
Ubuntu 20.04 安装 OpenJDK 17
linux·运维·ubuntu
sulikey2 天前
服务器安装Docker教程。如何在云服务器安装Docker容器?
运维·服务器·ubuntu·docker·安装教程·云服务器
IT曙光3 天前
在Ubuntu上本地部署Dify?
linux·ubuntu
默默提升实验室3 天前
Ubuntu 22.04.5 配置静态IP,手动安装SSH
ubuntu
初圣魔门首席弟子3 天前
TypeScript 类型系统完全指南:从基础到高级工具类型(知识库版)
linux·运维·ubuntu
TARDIS_20203 天前
VMware配置ubuntu26.04虚拟机桥接
ubuntu
雷工笔记3 天前
什么是Ubuntu?
linux·运维·ubuntu