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

写在前面

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

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" ]; then
    echo "Hello, Alice!"
fi

# 使用循环
for i in {1..5}; do
    echo $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系统。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【线代基础】张量、向量、标量、矩阵的区别

1、标量(Scalar) 纯数字,无方向性、无维度概念。因此也叫 标量张量、零维张量、0D张量 例如,x18,x21.34 x1、x2即为标量 2、张量(tensor) 具有方向性,可以理解为一个多维数组&a…

相机模型Omnidirectional Camera(全方位摄像机)

1. 背景 大多数商用相机都可以描述为针孔相机,通过透视投影进行建模。然而,有些投影系统的几何结构无法使用传统针孔模型来描述,因为成像设备引入了非常高的失真。其中一些系统就是全方位摄像机。 有几种方法可以制作全向相机。屈光照相机(D…

《手把手教你》系列技巧篇(三十二)-java+ selenium自动化测试-select 下拉框(详解教程)

1.简介 在实际自动化测试过程中,我们也避免不了会遇到下拉选择的测试,因此宏哥在这里直接分享和介绍一下,希望小伙伴或者童鞋们在以后工作中遇到可以有所帮助。 2.select 下拉框 2.1Select类 1.在Selenium中,针对html的标签sel…

工科硕士研究生毕业论文撰写总结

工科硕士研究生毕业论文撰写总结 最近一段看了十几篇研究生毕业论文,发现不少问题。结合最近几年当评委及审论文的经验来总结下工科硕士研究生毕业论文撰写毕业论文问题与经验。 一.科技论文的总要求 论文是写给同行看的,注意读者对象。&a…

细粒度IP定位参文27(HGNN):Identifying user geolocation(2022年)

[27] F. Zhou, T. Wang, T. Zhong, and G. Trajcevski, “Identifying user geolocation with hierarchical graph neural networks and explainable fusion,” Inf. Fusion, vol. 81, pp. 1–13, 2022. (用层次图、神经网络和可解释的融合来识别用户的地理定位) 论文地址:…

十四、软考-系统架构设计师笔记-云原生架构设计理论与实践

1、云原生架构背景 云原生架构定义 从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、…

趣学前端 | JavaScript标准库

背景 最近睡前习惯翻会书,重温了《JavaScript权威指南》这本书。这本书,文字小,内容多。两年了,我才翻到第十章。因为书太厚,平时都充当电脑支架。 JavaScript标准库 今天阅读的章节是JavaScript标准库,…

【Kimi帮我看论文(四)】TransE:Translating Embeddings for Modeling Multi-relational Data

一、论文信息 1 标题 Translating Embeddings for Modeling Multi-relational Data 2 作者 Antoine Bordes, Nicolas Usunier, Alberto Garcia-Durn, Jason Weston, Oksana Yakhnenko 3 研究机构 Universit de Technologie de Compigne – CNRS Heudiasyc UMR 7253 Compi…

C# SM2加解密 ——国密SM2算法

SM2 是国家密码管理局组织制定并提出的椭圆曲线密码算法标准。 本文使用第三方密码库 BouncyCastle 实现 SM2 加解密,使用 NuGet 安装即可,包名:Portable.BouncyCastle,目前最新版本为:1.9.0。 using Org.BouncyCastl…

Docker部署黑马商城项目笔记

部署后端 创建mysql目录如下,上传对应的文件 运行以下命令 docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entry…

swagger踩坑之请求类不显示具体字段

swagger踩坑之请求类不显示具体字段 省流:枚举字段需要加上ApiModelProperty注解 过程复现: TestEnum 枚举不加注解,swagger的UI类不显示详细字段 Data Accessors(chain true) ApiModel(value "test对象", description &quo…

管理交换机

文章目录 本地管理交换机物理交换机如何本地管理ensp上的虚拟交换机如何本地管理认证模式的三种方式 远程管理交换机配置通过Telnet登录设备配置通过STelnet登录设备 --推荐的方式检查配置结果使用Cloud管理多个交换机时 华为官网配置信息 本地管理交换机 当交换机首次使用时&…

语音合成技术:从概念到应用的全面解析

目录 前言1 语音合成技术简介2 技术解析2.1 语音合成的基本流程2.2 传统语音合成技术2.3 基于深度学习的语音合成 3 语音合成技术应用3.1 虚拟助手与聊天机器人3.2 无障碍通信3.3 语言学习3.4 媒体和娱乐 4 语音合成技术的挑战4.1 自然性的提升4.2 情感表达的深化4.3 多样性与包…

Docker自建蜜罐系统【失陷检测、外网威胁感知、威胁情报】

项目地址: https://hfish.net Hfish是一款基于Docker的网络钓鱼平台,它能够帮助安全团队模拟各种网络钓鱼攻击,以测试和提高组织的安全防御能力。 Hfish的优点 为什么选择Hfish? 蜜罐通常被定义为具有轻量级检测能力、低误报率…

【3GPP】【核心网】【5G】NG接口介绍(超详细)

目录 1. NG接口定义 2. 接口原则和功能 3. NG 接口控制面 5. NG接口主要信令流程 6. NG SETUP过程 1. NG接口定义 NG接口指无线接入网与5G核心网之间的接口。在5G SA网络中,gNB之间通过Xn接口进行连接,gNB与5GC之间通过NG接口进行连接。NG接口分为NG-C接口和NG…

O2OA开发的新版考勤管理

O2OA(翱途)开发平台对考勤管理重新进行了开发,全新的版本更好用,更直观。 考勤管理对员工的工作出勤情况进行记录、分析和报告的过程。它是对员工工作表现评估的重要依据,也是企业管理中的重要组成部分。考勤管理包括对员工的工作时间、迟到…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十三)-DL-AoD定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

绝地求生:PUBG官方公布2024工作计划

大家好,我是闲游盒。 首先今天官方公布了2024工作计划,下面我们一起来了解一下2024工作重点,官方提到的2点:一是通过对PUBG的维护和优化来改善线上服务的质量,二是为玩家们提供更加多姿多彩的游戏体验。我个人看完了全…

新品发布:广州大彩科技COF系列2.1寸480*480 IPS 串口屏发布!

一、产品介绍 该产品是一款2.1寸分辨率为 480480的医用级工业组态串口屏,拥有2.1寸IPS液晶屏,分辨率有480480(实际显示为R240内切圆区域),支持电容触摸。采用COF超薄结构工艺设计,用户安装便捷灵活&#x…

离子束铣削(Ion Beam milling)

离子束铣削 (Ion Beam milling) 是一种利用离子源在基板上进行材料去除工艺的薄膜技术。Ion Beam milling 是一种离子束溅射,无论是用于预清洁还是图案蚀刻,它都有助于确保出色的附着力和 3D 结构的精确形成。主要用于微电子制造、光学元件制造和材料科学…