Linux服务器安装Anaconda并运行Python程序

news2024/11/24 13:48:38

目录

  • 1. Linux服务器安装Anaconda
    • 1.1 下载Anaconda安装包
    • 1.2 安装Anaconda
  • 2. 添加Conda环境变量
  • 3. Conda常用操作
    • 3.1 创建虚拟环境
    • 3.2 激活环境
    • 3.3 删除环境
    • 3.4 其他常用命令
  • 4. 安装合适版本的Pytorch
  • 5. Linux服务器运行Python程序
    • 5.1 前端运行
    • 5.2 后台挂载
    • 5.3 后台进程
  • 6. 一些常见问题
    • 6.1 在Linux终端里,按上下左右键变成\^[[A^[[B\^[[C\^[[D
    • 6.2 conda: not found
    • 6.3 CondaError: Run 'conda init' before 'conda activate'
  • 7. 参考


1. Linux服务器安装Anaconda

1.1 下载Anaconda安装包

  • 使用wget命令直接在服务器端下载安装包,例如这里下载最新版Linux-x86_64安装包:

    # wget <安装包链接>
    wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
    
  • 本地在官网下载好安装包再上传到到服务器上(可以通过一些终端软件,如WinSCP),下载地址:https://repo.anaconda.com/archive/

1.2 安装Anaconda

  • 运行下列命令安装:

    # bash Anaconda<版本号>-Linux-<架构>.sh
    bash Anaconda3-2024.02-1-Linux-x86_64.sh
    
  • 回车之后显示Anaconda的信息,并且会出现More,持续按Enter(或者长按空格快速过渡信息页面),需要输入yes or no时全部输入yes即可

  • 出现下图即说明正在安装:

    在这里插入图片描述

  • 最新版Anaconda安装时并未出现提示是否添加环境变量,这导致必须手动添加,见下一节。

2. 添加Conda环境变量

  • 重新启动终端:在安装Anaconda后,有时需要重新启动终端会话才能使新的环境变量生效。尝试关闭终端窗口并重新打开一个新的终端窗口,然后再次尝试运行 conda --version 命令。

  • 手动添加Anaconda路径:如果重新启动终端没有解决问题,可以手动添加Anaconda的路径到系统的环境变量中。打开终端并执行以下命令以编辑 .bashrc 文件:

    nano ~/.bashrc
    
  • 在文件的末尾添加以下行,将 <anaconda安装路径> 替换为实际的Anaconda安装路径(具体见下图红框):

    export PATH="<anaconda安装路径>/bin:$PATH"
    

    在这里插入图片描述

  • 保存文件并退出编辑器:Ctrl + O 保存,Ctrl + X 退出

  • 执行以下命令以使更改生效:

    source ~/.bashrc
    
  • 如果在执行 source ~/.bashrc 命令时出现 -sh: 4: source: not found 错误,这通常是由于正在使用的Shell不支持source命令导致的。可以尝试使用以下命令激活Anaconda环境:

    . ~/.bashrc
    
  • 最后,再次尝试运行 conda --version 或者 conda -V 命令,出现版本号即安装成功:

    在这里插入图片描述

3. Conda常用操作

3.1 创建虚拟环境

使用Conda可以创建独立的Python环境,每个环境可以拥有自己的Python版本和软件包。要创建一个名为"myenv"的环境,可以运行以下命令:

# conda create --name <name> python=<version>
conda create --name myenv python=3.8

3.2 激活环境

要激活一个特定的环境,可以运行以下命令:

# conda activate <name>
conda activate myenv

成功激活后终端前缀 base 会变为目标环境名称:

在这里插入图片描述

3.3 删除环境

要删除名为"myenv"的环境,可以运行以下命令:

conda env remove --name myenv

3.4 其他常用命令

  • 列出环境:

    conda env list
    or
    conda info --envs
    
  • 安装软件包:

    conda install xxx
    or
    pip install xxx
    
  • 更新软件包:

    conda update xxx
    or 
    pip install --upgrade xxx
    
  • 卸载软件包:

    conda uninstall xxx
    or
    pip uninstall xxx
    
  • 列出已安装软件包:

    conda list
    or
    pip list
    

4. 安装合适版本的Pytorch

不同版本的深度学习框架对CUDA和Pytorch的要求可能有所不同。在使用特定版本的框架时,查阅其文档或要求,了解所需的CUDA和Pytorch版本,并确保安装了正确的版本。

前往Pytorch官网查看版本对应关系:https://pytorch.org/get-started/previous-versions/,如果版本不匹配则需要重新安装Pytorch或者更新CUDA版本。注意同一Pytorch版本适配多个CUDA版本,具体还需要考虑cuDNN的版本。

详情参见另一篇博文:https://blog.csdn.net/qq_43811536/article/details/138287399?spm=1001.2014.3001.5501

在这里插入图片描述

5. Linux服务器运行Python程序

5.1 前端运行

  • 首先,激活项目对应的虚拟环境:

    conda activate xxx
    
  • 然后,进入项目目录下(cd <路径>),要运行当前目录下的my_program.py,可以使用以下命令:

    python my_program.py
    

5.2 后台挂载

  • 仅要求后台运行不挂断程序:

    # nohup command &
    nohup python my_program.py &
    
  • 如果希望在后台挂载程序且输出运行日志到指定文件,可以使用以下命令:

    nohup python my_program.py > output.log 2>&1 &
    
  • 有时运行会产生很多很大又没价值的标准输出和标准错误,可以定向到/dev/null,任何东西都可以定向到这里,但无法打开,例如:

    nohup python my_program.py > /dev/null 2>&1 &
    

5.3 后台进程

  • 查看运行的后台进程:nohup命令输入后会得到一个进程号,可以在当前终端查看进程的运行状况
    jobs -l
    
  • 关闭程序:如果需要关闭正在后台运行的程序,可以使用以下命令:
    ps -ef | grep my_program.py
    
  • 杀死进程:
    kill -9 进程号
    

6. 一些常见问题

6.1 在Linux终端里,按上下左右键变成^[[A^[[B^[[C^[[D

这种问题一般发生在创建的linux新用户上,出现上述问题的时候,命令行只显示一个提示符:

$

可以直接输入bash即可解决:

bash

以后每次连接都会使用 bash。

6.2 conda: not found

在执行 conda --version 命令时收到 -sh: 2: conda: not found 错误消息,这意味着系统无法找到 conda 命令。这可能是因为Anaconda的路径未正确添加到系统的环境变量中。添加环境变量方法见第2小节。

6.3 CondaError: Run ‘conda init’ before ‘conda activate’

如果在执行 conda activate 命令时出现 CondaError: Run ‘conda init’ before ‘conda activate’ 错误,这需要先运行 conda init 命令来初始化Conda。

  • 运行以下命令以初始化Conda:

    conda init
    
  • 关闭当前终端窗口,并重新打开一个新的终端窗口。

  • 在新的终端窗口中,尝试再次运行命令激活Conda环境.

7. 参考

  • https://blog.csdn.net/qq_43811536/article/details/138287399?spm=1001.2014.3001.5501
  • https://blog.csdn.net/qq_42635198/article/details/114414336?spm=1001.2014.3001.5502
  • https://blog.csdn.net/corruptwww/article/details/115383990
  • ChatGPT 3.5

创作不易,麻烦点点赞和关注咯!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632916.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果和OpenAI再续前缘,iOS 18会是颠覆级的吗?|TodayAI

据彭博社最新报道&#xff0c;苹果公司已经与人工智能领域的先锋企业OpenAI重启了对话&#xff0c;双方目前正在讨论一项可能的合作&#xff0c;以将OpenAI的生成式人工智能技术整合到苹果即将推出的iOS 18操作系统中。这一举措表明&#xff0c;苹果正加速其在人工智能技术上的…

第G9周:ACGAN理论与实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 上一周已经给出代码&#xff0c;需要可以跳转上一周的任务 第G8周&#xff1a;ACGAN任…

什么是视频号小店?小店怎么做?详细玩法流程来了

大家好&#xff0c;我是电商笨笨熊 视频号小店成了今年电商市场又一热门项目&#xff1b; 作为腾讯推出的电商&#xff0c;不少人曾说过&#xff0c;视频号小店会成为下一个风口&#xff1b; 那么视频号小店到底是什么&#xff0c;值得投入吗&#xff0c;又该怎么做呢&#…

[华为OD]C卷 给定一个数组,数组中的每个元素代表该位置的海拔高度 山脉的个数 200

题目&#xff1a; 给定一个数组&#xff0c;数组中的每个元素代表该位置的海拔高度。0表示平地&#xff0c;&#xff1e;1时表示属于某个 山峰&#xff0c;山峰的定义为当某个位置的左右海拔均小于自己的海拔时&#xff0c;该位置为山峰。数组起始位 置计算时可只满足一边…

AI助力后厨可视化智慧监管,让“舌尖安全”看得见

一、背景与需求分析 夏天是食物易腐败的季节&#xff0c;高温容易引发食品安全问题。在后厨环境中&#xff0c;食品安全问题可能涉及食品加工、后厨环境、食品是否被污染等方面&#xff0c;而不合格的食品安全管理可能导致食品中毒事件等风险&#xff0c;损害消费者的健康和餐…

偏微分方程算法之五点菱形差分法

目录 一、研究目标 二、理论推导 三、算例实现 四、结论 一、研究目标 上个专栏我们介绍了双曲型偏微分方程的主要算法及实现。从今天开始&#xff0c;我们在新的专栏介绍另一种形式偏微分方程-椭圆型的解法。 研究目标选取经典的二维椭圆型方程&#xff08;也称泊松Poisso…

半导体制造工艺之分类浅述

半导体制造工艺分为逻辑制程(也叫逻辑工艺)和特殊制程(也叫特色工艺)。 1、逻辑工艺概述 随着集成电路行业沿着摩尔定律不断发展,晶体管数量增加的同时,工艺节点不断缩小。先进逻辑工艺是相对的概念,2005年全球先进逻辑工艺的工艺节点在65/55纳米,现在则变为3纳米。中…

好好聊一聊:Agent AI智能体的未来|TodayAI

​​​​​​​ 一、 引言 在当今时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的快速发展正不断改变着我们的生活与工作方式。尤其是Agent AI智能体&#xff0c;作为AI技术中的一种重要形式&#xff0c;它们通过模拟人类智能行为来执行各种复杂任务&#xff0c;从…

sCrypt全新上线RUNES功能

sCrypt智能合约平台全新上线一键etch/mint RUNES功能&#xff01; 请访问 https://runes.scrypt.io/ 或点击阅读原文体验&#xff01; 关于sCrypt sCrypt是BSV区块链上的一种智能合约高级语言。比特币使用基于堆栈的Script语言来支持智能合约&#xff0c;但是用原生Script编…

多猫家庭吐血总结!这样选冻干真不踩雷?这几款主食冻干喂出貌美小猫

315中国之声的报道曝光了河北省邢台市南和区某宠粮代工厂的“行业秘密”&#xff0c;这让许多宠物主人感到震惊和不安。配料表上标明的鸡肉含量和新鲜鸡小胸含量看似可观&#xff0c;但背后却是用鸡肉粉替代的真相。我们养宠物是为了增添生活的乐趣&#xff0c;然而这些行业乱象…

实验案例二:配置Trunk,实现相同VLAN的跨交换机通信

1.实验环境 公司的员工人数已达到100人&#xff0c;其网络设备如图12.13所示。现在的网络环境导致广播较多 网速慢&#xff0c;并且也不安全。公司希望按照部门划分网络&#xff0c;并且能够保证一定的网络安全性 其网络规划如下: PC1和 PC3为财务部&#xff0c;属于 VLAN 2&…

Linux驱动开发——(九)platform设备驱动

目录 一、Linux驱动的分离 二、Linux驱动的分层 三、platform平台驱动模型简介 3.1 platform_driver结构体 3.2 device_driver结构体 3.3 platform驱动API函数 四、驱动代码 一、Linux驱动的分离 对于Linux这种庞大而复杂的系统&#xff0c;需要非常注重代码的重用性&a…

Docker-容器的前世今生

文章目录 Docker为什么产生&#xff1f;硬件虚拟化硬件虚拟化解决的问题硬件虚拟化定义硬件虚拟化技术虚拟机的优点虚拟机的缺点 操作系统虚拟化即容器容器化解决的问题容器化定义容器化技术历史 容器和虚拟机对比 Docker的发展历史Docker架构客户端服务端仓库Registry Docker重…

JavaEE 初阶篇-深入了解特殊文件(Properties 属性文件、XML)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 Properties 属性文件概述 1.1 Properties 属性文件特性与作用 1.2 使用 Properties 把键值对数据写出到属性文件中 1.3 使用 Properties 读取属性文件里的键值对数…

JMeter 请求头信息配置详解

在进行 Web 测试和 API 测试时&#xff0c;正确配置 HTTP 请求头是关键步骤之一&#xff0c;尤其当使用诸如 JMeter 这样的强大工具时。在本文中&#xff0c;我将详细介绍如何在 JMeter 中有效地配置和管理HTTP请求头。 在 JMeter 中添加和配置 HTTP 请求头 步骤 1: 打开 HTT…

【Redis 开发】多级缓存,本地进程缓存Caffeine

多级缓存 多级缓存本地进程缓存CaffeineCaffeine三种缓存驱逐策略 多级缓存 Redis处理并发的能力是非常强大的&#xff0c;但是tomcat的支持并发的能力跟不上Redis的性能&#xff0c;导致整体性能的下降 Redis缓存失效时&#xff0c;会对数据库产生冲击&#xff0c;之间再无屏…

0425DormAJAX项目

0425DormAJAX项目包-CSDN博客 数据库字段 添加界面&#xff1a; 初始状态&#xff1a; 点击性别&#xff0c;宿舍号使用ajax动态添加&#xff1a; 学生主界面&#xff1a; 实现分页查询&#xff1a; 点击修改学生宿舍&#xff0c;查看换寝记录&#xff0c;ajax动态显示列表&…

如何在WordPress中设置网站的SEO标题和描述

在WordPress中&#xff0c;想要让你的网站在搜索引擎结果中脱颖而出&#xff0c;设置优秀的SEO标题和描述至关重要。这不仅可以帮助搜索引擎更好地理解你的网站内容&#xff0c;还可以吸引更多的点击率和流量。而选择一款合适的SEO插件是实现这一目标的关键之一。让我们来看看两…

速成AWD并获奖的学习方法和思考记录

前言 这是一个市赛。之前没有怎么打过AWD&#xff0c;所以进入决赛后只有三天的准备时间&#xff0c;期间我不停的请教大佬&#xff0c;阅读各类文章&#xff0c;受益颇深&#xff0c;做此纪录&#xff0c;奉献给掌控的各位同学学习。 在AWD中本是三人一队&#xff0c;可惜我…

Babel 原理浅析

Babel 原理浅析 Babel 是什么Babel 的作用及常用场景Babel 执行过程原理Babel的基本原理解析过程插件系统 Babel 是什么 官方解释&#xff1a;Babel 是一个 JavaScript 编译器&#xff0c;也是一个工具链&#xff0c;主要用于将 ECMAScript 2015 代码转换为当前和旧版浏览器或环…