【AnaConda/MiniConda/Linux】使用sudo python或切换root管理员conda环境被绕过解决方案

news/2025/2/12 20:03:51/

写在前面

部分机型修改环境变量存在风险,可能用于被覆盖而出现大量命令无法找到的情况
可以输入这个解决

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

往期相关内容

探索Miniconda3:简单、灵活的Python环境和软件包管理利器

【Vue3-Flask-BS架构Web应用】实践笔记1-使用一个bat脚本自动化完整部署环境

半自动化使用.bat手动打包迁移python项目

文章目录

  • 写在前面
  • 往期相关内容
    • 解决方案
      • 方案一:使用绝对路径指定Anaconda中的Python
      • 方案二:创建别名
      • 方案三:su切root然后再次初始化conda
    • 小结
      • conda常用命令
  • 以下是基础知识介绍
      • 1. Linux基础知识
        • 1.1. 操作系统和Linux概述
        • 1.2. 用户权限和sudo命令
        • 1.3. Shell和常用命令
      • 2. Shell编程
        • 2.1. 变量、条件语句和循环
        • 2.2. 函数和脚本编写
        • 2.3. Shell配置文件和别名
        • 2.4. sh与bat的对比
      • 3. 风险管理与系统维护
        • 3.1. 备份和恢复数据
        • 3.2. 安全原则和风险防范
        • 3.3. 系统调优和性能监控
      • 4. Windows对比和迁移
        • 4.1. Windows和Linux系统对比
        • 4.2. 迁移指南和跨平台操作
        • 4.3. 常见问题解决和技巧分享

解决方案

sudo命令仍然默认使用系统中的Python 2.7而不是Anaconda环境中的Python。您可以尝试以下方法解决这个问题:

方案一:使用绝对路径指定Anaconda中的Python

  1. 先找路径
which python

在这里插入图片描述

  1. 尝试直接指定Anaconda环境中的Python解释器的路径来运行Python脚本,例如:
sudo /home/topeet/miniconda3/bin/python your_script.py

这将确保您在sudo下使用的是Anaconda环境中的Python。

方案二:创建别名

您还可以通过在.bashrc文件中创建别名来简化操作。打开终端并编辑.bashrc文件:

nano ~/.bashrc

在文件末尾添加以下行:

export PATH="/home/topeet/miniconda3/bin/python:$PATH"
alias sudo='sudo env PATH=$PATH'

在这里插入图片描述

保存并关闭文件,然后重新加载.bashrc文件:


source ~/.bashrc

现在尝试再次运行 sudo python 命令,应该会使用Anaconda环境中的Python。

方案三:su切root然后再次初始化conda

conda activate

当您运行conda activate时出现问题时,建议按照以下步骤尝试解决:

  1. 运行 conda init bash 命令以初始化您的 Bash shell。
  2. 关闭当前 shell 会话,然后重新打开一个新的 shell。
  3. 确保在新 shell 中运行 conda activate 命令。

小结

总结原理:

  • 使用绝对路径指定Anaconda中的Python: 这种方法通过直接指定 Anaconda 环境中 Python 解释器的绝对路径,确保在 sudo 下使用的是 Anaconda 环境中的 Python 版本,绕过可能存在的环境变量问题。

  • 创建别名: 通过在 .bashrc 文件中创建别名,将 Anaconda 环境中的 Python 添加到系统 PATH 中,并为 sudo 命令设置相同的环境变量,从而确保 sudo 命令也使用 Anaconda 环境中的 Python。

  • 使用su切root然后再次初始化conda: 切换到 root 用户后重新初始化 conda 环境,这有助于解决可能由于权限或环境配置问题导致的 conda activate 失败的情况,通过在 root 用户下执行初始化操作来修复环境配置问题。

这些方法的核心原理在于确保在 sudo 或 root 权限下,系统能够正确使用 Anaconda 环境中的 Python 解释器,以避免因环境变量或权限问题而导致 conda activate 出错。

conda常用命令

探索Miniconda3:简单、灵活的Python环境和软件包管理利器

确保Anaconda环境已正确激活,并且环境变量设置正确。您可以执行以下命令检查当前是否在Anaconda环境中:

conda info --envs

如果Anaconda环境没有正确激活,请使用以下命令激活:

conda activate your_environment_name

然后尝试再次运行 sudo python 命令。

退环境

conda deactivate 

以下是基础知识介绍

1. Linux基础知识

1.1. 操作系统和Linux概述

操作系统是计算机系统的核心软件,负责管理硬件资源、提供用户界面等功能。Linux是一种开源的Unix-like操作系统内核,与Windows等操作系统有着明显的区别。Linux广泛应用于服务器、个人电脑和嵌入式设备等领域。

1.2. 用户权限和sudo命令

在Linux系统中,用户权限分为超级用户(root)和普通用户。为了执行需要超级用户权限的操作,可以使用sudo命令。通过/etc/sudoers文件配置,普通用户可以以特权身份运行特定命令。

示例:

sudo apt-get install nginx
1.3. Shell和常用命令

Shell是用户与操作系统内核交互的接口,最常见的是Bash(Bourne Again SHell)。用户可以通过Shell执行各种命令,如文件操作、进程管理等。

常用命令示例:

  • ls:列出目录内容
  • cd:切换目录
  • mkdir:创建新目录

示例:

ls -l
cd Documents
mkdir new_folder

以上是Linux基础知识的一部分,理解这些概念将有助于您更好地使用和理解Linux系统。接下来会继续深入探讨Shell编程、风险管理与系统维护等主题。如果您有任何问题或需要进一步解释,请随时告诉我!

2. Shell编程

2.1. 变量、条件语句和循环

在Shell编程中,变量的定义以及使用条件语句和循环可以有效地控制程序流程。

示例:

# 定义一个变量
name="Alice"# 使用条件语句
if [ "$name" == "Alice" ]; thenecho "Hello, Alice!"
fi# 使用循环
for i in {1..5}; doecho $i
done
2.2. 函数和脚本编写

通过Shell支持的函数定义,可以将代码块封装成函数以便重复调用。此外,编写Shell脚本可以批量执行一系列操作。

示例:

# 定义一个函数
say_hello() {echo "Hello, $1!"
}# 调用函数
say_hello "Bob"
2.3. Shell配置文件和别名

Shell配置文件如.bashrc可用于设定环境变量、别名等。别名是一种方式,通过简洁的名称来表示一条长命令或一系列命令。

示例:

# 设置一个别名
alias ll='ls -la'
2.4. sh与bat的对比

【Vue3-Flask-BS架构Web应用】实践笔记1-使用一个bat脚本自动化完整部署环境

半自动化使用.bat手动打包迁移python项目
sh是Unix/Linux系统默认的Shell解释器,而bat则是Windows系统中的批处理脚本。它们有着不同的语法和功能特点。bat文件通常以.bat为扩展名,在Windows环境下运行。与sh相比,bat脚本更多地用于Windows系统中进行批处理操作,包括文件操作、目录操作等。需要根据具体操作系统和需求选择适合的脚本类型。

以下是一个简单的.bat批处理脚本示例:

@echo off
echo Welcome to My Batch Script
set name=John
if "%name%"=="John" (echo Hello, John!
) else (echo Hello, Stranger!
)for /l %%i in (1, 1, 5) do (echo %%i
)

这个批处理脚本演示了变量定义、条件语句和循环的基本用法,可以在 Windows 环境下运行。

3. 风险管理与系统维护

3.1. 备份和恢复数据

数据备份是确保数据安全的重要步骤。我们可以使用rsync工具来创建数据备份,并进行恢复操作。

示例:

# 使用rsync进行数据备份
rsync -av /source/directory /destination/directory

解释:

  • rsync: 是一个强大的文件同步工具,可以用于数据备份和文件同步。
  • -av: 参数用于指定操作模式,-a表示以递归模式处理文件,并保持所有文件属性,-v表示详细模式输出。
  • /source/directory: 源目录,需要备份的数据所在位置。
  • /destination/directory: 目标目录,备份数据存放的位置。
3.2. 安全原则和风险防范

为确保系统安全,必须遵循一些关键的安全原则和采取相应的风险防范措施。这包括但不限于:

  • 定期更新系统补丁,确保系统安全漏洞得到及时修复。
  • 限制用户权限,避免未授权访问系统关键部分。
  • 使用防火墙规则,过滤网络流量并保护系统免受恶意攻击。
3.3. 系统调优和性能监控

系统调优可以提高系统性能,常见的调优措施包括优化内存使用和调整文件系统参数。同时,通过监控工具如tophtop可以实时查看系统资源的使用情况。

示例:

# 使用top监控系统资源
top

解释:

  • top: 是一个命令行实用程序,用于实时监视系统资源的使用情况,包括CPU、内存、进程等信息。通过top命令可以了解系统中资源消耗较高的进程,帮助进行性能监控和调优。

4. Windows对比和迁移

4.1. Windows和Linux系统对比

Windows和Linux操作系统在设计理念和操作方式上存在显著差异:

  • 注册表 vs 文本文件: Windows系统使用注册表来存储系统配置信息,而Linux通常使用文本文件(如/etc目录下的配置文件)进行配置。
  • 图形界面 vs 命令行: Windows注重图形用户界面(GUI),而Linux更加强调命令行操作,尤其对于系统管理员和开发人员而言。
  • 商业化 vs 开源性: Windows是商业操作系统,而Linux是开源的,用户可以自由获取并修改其源代码。
4.2. 迁移指南和跨平台操作

在进行Windows到Linux系统迁移时,需要考虑以下关键因素:

  • 文件格式兼容性: 确保从Windows迁移到Linux时文件格式得到正确处理,例如将CRLF换行符转换为LF。
  • 应用程序支持: 部分Windows专有软件可能无法直接在Linux上运行,需寻找替代方案或使用虚拟机等技术。
  • 跨平台工具: 利用跨平台工具(如Git、Python)可以在不同操作系统中共享项目和数据,提高工作效率。
4.3. 常见问题解决和技巧分享

解决Windows和Linux系统问题的方法可能存在一些区别:

  • 权限管理: Linux系统采用基于权限的安全模型,涉及到用户、组和文件权限;而Windows系统较为复杂,涉及ACL(访问控制列表)等概念。
  • 软件安装: Linux中通常使用包管理器(如APT、YUM)安装软件,而Windows则通过安装程序或应用商店进行软件安装。
  • 网络设置: 网络配置在两个系统中也有不同,了解网络设置差异有助于排查网络问题。

通过深入了解这些不同点,并学会灵活运用适当的解决方案和技巧,可以更好地管理、维护和迁移Windows和Linux系统。


http://www.ppmy.cn/news/1381379.html

相关文章

基于Springboot影城管理系统设计与实现

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、研究背景…

Mybatis-plus手写SQL如何使用条件构造器和分页

Mybatis-plus手写SQL如何使用条件构造器和分页插件 前言:在使用mybatis-plus过程中,使用条件构造器和分页插件非常效率的提升开发速度,但有些业务需要使用连表查询,此时还想使用条件构造器和使用分页时应该如何操作呢&#xff1f…

windows下如何编译tengine

前言: 本文的主要宗旨是使用cygwin在windows下编译tengine, 同时使用tongsuo, 使tengine支持国密SSL. 本文的编译环境为win10专业版. 详细步骤如下. 1, 安装cygwin https://cygwin.com/setup-x86_64.exe 安装步骤比较简单, 主要步骤如下: 下一页在选择站点的时候可以填写清华源…

苹果放弃造车计划 或更加专注AI

近日,据有关消息称苹果公司决定放弃投入数十亿美元的造车项目,2000多名员工将逐步转到人工智能项目。特斯拉CEO马斯克、小米创始人雷军、理想汽车CEO李想、小鹏汽车CEO何小鹏等纷纷在社交平台发言感慨。 从2008年开始,苹果就有了造车野心&…

爬取原创力文档数据

1 使用工具 影刀RPA 2 代码流程 3 关键点 此方案只适合抓取非VIP即可预览全文的文档,抓取下来的数据是图片 打开网址后,需要鼠标向下滚动一段距离才能触发“下一页”按钮 抓取下来的链接,有些是文档中间的广告图片,有效的文档…

阿里又又发布了一个“AI神器”

阿里给“打工”朋友送上“节日礼物” 六一儿童节当天,阿里就给所有“打工”的大朋友送上了一份“节日礼物” 6月1日上午,阿里云发布了面向音视频内容的AI新品“通义听悟”,并正式公测 通义千问、通义听悟 这哥俩现在所处环境不同&#xff0…

朴素贝叶斯算法基础——案例:对新闻进行分类

贝叶斯公式 朴素:假设特征与特征之间相互独立 朴素贝叶斯算法:朴素贝叶斯 应用场景:文本分类(单词作为特征) 拉普拉斯平滑系数 Ni:F1词在C类别所有文档中出现的次数 N:所属类别C下的文档所…

Android中ANR机制

Android中的ANR分为两种,前台ANR和后台ANR。 前台ANR,是指ANR时对用户可感知,比如拥有当前前台可见的activity的进程,或者拥有前台通知的fg-service的进程,这些是用户可感知的场景。前台ANR,会出现一个系统…