惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
量子位
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tenable Blog
V
Vulnerabilities – Threatpost
Know Your Adversary
Know Your Adversary
T
Threat Research - Cisco Blogs
Latest news
Latest news
Spread Privacy
Spread Privacy
C
Cyber Attacks, Cyber Crime and Cyber Security
NISL@THU
NISL@THU
T
Tor Project blog
Hacker News: Ask HN
Hacker News: Ask HN
V2EX - 技术
V2EX - 技术
T
The Exploit Database - CXSecurity.com
博客园 - 三生石上(FineUI控件)
K
Kaspersky official blog
Cyberwarzone
Cyberwarzone
博客园 - 叶小钗
博客园 - 聂微东
Last Week in AI
Last Week in AI
爱范儿
爱范儿
腾讯CDC
博客园 - Franky
美团技术团队
J
Java Code Geeks
O
OpenAI News
L
Lohrmann on Cybersecurity
Simon Willison's Weblog
Simon Willison's Weblog
有赞技术团队
有赞技术团队
T
Threatpost
G
GRAHAM CLULEY
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
宝玉的分享
宝玉的分享
I
Intezer
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
The Blog of Author Tim Ferriss
S
Security @ Cisco Blogs
Forbes - Security
Forbes - Security
N
News | PayPal Newsroom
Stack Overflow Blog
Stack Overflow Blog
Scott Helme
Scott Helme
H
Hacker News: Front Page
Cloudbric
Cloudbric

RisingIce

2024年终总结 | RisingIce 使用大模型总结B站视频 | RisingIce 使用Vercel搭建Umami统计 | RisingIce 部署Twikoo评论系统 | RisingIce Vercel域名被墙的问题 | RisingIce 修改anzhiyu主题的TianliGPT插件为其他大模型API | RisingIce Ubuntu挂载群晖共享文件夹与Comfyui模型迁移 | RisingIce 《程序员的README》- 随笔 | RisingIce Hello Word的由来 | RisingIce
记一次conda环境激活却不起作用的问题及解决方法 | RisingIce
RisingIce · 2024-01-15 · via RisingIce

文章摘要 RisingIce

加载中...|

此内容由DeepSeek根据文章生成,未经过人工审核,仅用于文章内容的解释与总结 投诉

一、起因 ​

最近在开发Python项目的时候遇到了一个奇怪的问题,按照往常的情况激活项目的conda环境之后,发现该环境没有起作用,项目也跑不起来,一直在报没有xxxx包的错误,使用pip list,看了一眼环境的包列表,发现包是存在的,这就非常令人费解

二、解决思路 ​

仔细看了报错的原因,发现Shell的环境变量的Python解释器路径并不是我激活的环境的Python解释器,是Ubuntu自带的Python解释器,这就解释了为什么我明明激活了环境却还是一直在报错误的原因,跑项目的时候用的是Ubuntu自带的解释器,使用的环境也是自带的解释器中的环境,自带的环境肯定是没有项目的环境依赖包的

后面去问了一下通义千问,它是这么回答的:

其中第三点的Shell环境变量一下子就点醒了我,结合之前看到的Python解释器的路径不对,就顺着第三点继续排查原因,使用echo $PATH看了一些Shell的PATH变量,发现自己项目环境并不是第一顺位,完全符合第三点的描述

于是继续问通义千问的解决方法,它是这么回答的:

但这个方法有一个致命的缺点:那就是每当你打开新的shell之后都会自动激活该项目环境,这种方法并不能完美解决问题,便继续寻找问题的根源

于是尝试在stackoverflow进行搜索,发现有条帖子与我的情况差不多,链接:Conda using /usr/local/bin/python instead of conda environment python

本质原因是conda在激活环境时会把激活环境的路径放在Shell环境的第一顺位,即激活环境内的Python可执行文件与脚本是优先于系统范围的可执行文件和脚本,但存在某些conda环境会影响该操作,所以就会出现以上的问题

三、解决方法 ​

解决方法主要有两种:

  1. 退出所有的conda环境
  2. 添加conda的Bash环境变量

方法一:

退出所有的conda环境(包括base环境),再重新激活项目环境

#退出环境
conda deactivate
#激活项目环境
conda activate your_env

#禁用自动激活base环境方法:
conda config --set auto_activate_base false

如果要启用将`false`换为`true`即可

方法二:

修改.bash_profile文件,修改以下内容:

# User specific environment and startup programs

PATH="/home/YOUR_USR_NAME/anaconda3/bin:$PATH"

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

Ps:方法二自行测试可用性