conda环境下activate env失败解决方案
1 问题描述
Anaconda已正确安装,通过conda创建了名称为pt的env环境,但在PowerShell中激活环境时出现以下问题:
- ?使用conda activate指令激活环境报错,错误如下
PS C:\Users\Admin> conda activate pt
usage: conda-script.py [-h] [--no-plugins] [-V] COMMAND ...
conda-script.py: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'token', 'pack', 'env', 'repo', 'verify', 'server')
- ??? 输入提示的"PS"前不显示当前环境,例如正确应该显示(base) PS C:\Users\Admin>:
conda查看env list,可以正常执行:
PS C:\Users\Admin> conda env list
# conda environments:
#
base C:\ProgramData\anaconda3
pt * C:\Users\Admin\.conda\envs\pt
2 问题分析
conda在PowerShell中未正确配置,导致conda activate不能用。
3 问题解决
第一步:初始化conda
用conda init
来初始化conda环境:
conda init powershell
执行命令显示如下:
PS C:\Users\Admin> conda init powershell
no change C:\ProgramData\anaconda3\Scripts\conda.exe
no change C:\ProgramData\anaconda3\Scripts\conda-env.exe
no change C:\ProgramData\anaconda3\Scripts\conda-script.py
no change C:\ProgramData\anaconda3\Scripts\conda-env-script.py
no change C:\ProgramData\anaconda3\condabin\conda.bat
no change C:\ProgramData\anaconda3\Library\bin\conda.bat
no change C:\ProgramData\anaconda3\condabin\_conda_activate.bat
no change C:\ProgramData\anaconda3\condabin\rename_tmp.bat
no change C:\ProgramData\anaconda3\condabin\conda_auto_activate.bat
no change C:\ProgramData\anaconda3\condabin\conda_hook.bat
no change C:\ProgramData\anaconda3\Scripts\activate.bat
no change C:\ProgramData\anaconda3\condabin\activate.bat
no change C:\ProgramData\anaconda3\condabin\deactivate.bat
no change C:\ProgramData\anaconda3\Scripts\activate
no change C:\ProgramData\anaconda3\Scripts\deactivate
no change C:\ProgramData\anaconda3\etc\profile.d\conda.sh
no change C:\ProgramData\anaconda3\etc\fish\conf.d\conda.fish
no change C:\ProgramData\anaconda3\shell\condabin\Conda.psm1
no change C:\ProgramData\anaconda3\shell\condabin\conda-hook.ps1
no change C:\ProgramData\anaconda3\Lib\site-packages\xontrib\conda.xsh
no change C:\ProgramData\anaconda3\etc\profile.d\conda.csh
no change C:\Users\Admin\Documents\WindowsPowerShell\profile.ps1
第二步:修改PowerShell限制策略
使用以下指令,将限制策略从Restricted改为RemoteSigned,范围为计算机上所有用户:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
注意:执行以上命令,需要管理员身份启动powershell。
执行完以上两个步骤后,先关闭powershell,然后再次启动powershell,执行conda activate pt
命令行执行成功,已经切换到pt虚拟环境下。
PS C:\Users\Admin> conda activate pt
(pt) PS C:\Users\Admin> conda deactivate
(base) PS C:\Users\Admin> conda activate pt
(pt) PS C:\Users\Admin>
通过activate,deactivate来回切换都不再报错。
?4 conda环境介绍
Conda是一个开源的包管理器和环境管理系统,用于安装、运行和更新包和其依赖项。它是由Anaconda, Inc.(以前称为Continuum Analytics)创建,用于支持Python程序开发,但它也可以用来管理来自其他语言的包。Conda使得包管理和环境隔离变得简单,对于处理多个项目中的依赖关系和版本控制尤其有用。
Conda是一个强大的工具,对于管理复杂的Python项目和环境至关重要。它简化了包管理和环境设置,使得Python开发更加容易和高效。通过使用Conda,开发者可以确保他们的项目在不同机器和操作系统上都能以相同的方式运行,大大提高了项目的可移植性和可复现性。
4.1 Conda的核心功能
-
包管理:Conda作为包管理器,可以安装、更新和移除Python包。它通过Conda仓库,如Anaconda Cloud或Conda Forge,来获取包。
-
环境管理:Conda允许用户创建隔离的环境,以便于不同项目可以拥有不同的库和/或Python版本。这在处理不兼容的依赖项或不同项目的需求时非常有用。
-
跨平台:Conda支持Linux、OS X和Windows,并允许创建跨平台的Python环境。
-
开源:Conda是开源的,允许用户查看源代码并对其进行改进。
4.2 使用Conda的优势
-
解决依赖性问题:Conda可以自动解决包之间的依赖关系,简化了安装过程。
-
环境隔离:创建独立的环境可以避免包之间的版本冲突,使得项目更稳定。
-
易于使用:Conda的命令行界面简单直观,易于学习和使用。
-
广泛的包支持:Conda支持Python的许多流行库和应用程序。
-
社区支持:作为一个流行的工具,Conda拥有一个活跃的社区,用户可以从中找到支持和资源。
4.3 Conda环境的创建和管理
-
创建新环境:使用
conda create
命令创建一个新环境,可以指定Python版本和所需的包。 -
激活环境:使用
conda activate
命令来激活环境。 -
安装包:在激活的环境中使用
conda install
命令来安装新的包。 -
环境列表:使用
conda env list
来查看所有可用的Conda环境。 -
移除环境:使用
conda env remove
命令来移除不再需要的环境。
4.4 应用场景
-
数据科学和机器学习:Conda非常适合于数据科学和机器学习项目,这些项目通常需要多个库和框架。
-
软件开发:软件开发者使用Conda来管理项目依赖,确保一致的开发环境。
-
教学和学术研究:教师和研究人员使用Conda来创建具有特定库和工具的环境,用于教学和研究。
4.5 常用命令
Conda 是一个开源的包管理器和环境管理器,广泛用于管理Python环境和包。以下是一些常用的 Conda 命令:
-
安装 Conda 包:
conda install [package-name]
: 安装指定的包。
-
创建和管理环境:
conda create --name [env-name]
: 创建一个新的环境。conda activate [env-name]
: 激活指定环境。conda deactivate
: 退出当前环境。conda env list
: 列出所有可用的环境。
-
管理包:
conda list
: 在当前环境中列出所有已安装的包。conda update [package-name]
: 更新指定的包。conda remove [package-name]
: 移除指定的包。
-
搜索包:
conda search [package-name]
: 搜索可用的包版本。
-
环境导出和导入:
conda env export > environment.yml
: 导出当前环境的配置到一个YAML文件。conda env create -f environment.yml
: 使用YAML文件创建一个新环境。
-
更新 Conda:
conda update conda
: 更新 Conda 到最新版本。
-
查看 Conda 信息:
conda info
: 显示关于 Conda 的信息。
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!