运行conda init时遇Anaconda报错:OpenSSL与zstandard相关问题求助
运行
conda init时遇到多类错误及"no change"初始化失败问题 问题详情
执行conda init命令时出现以下错误:
C:\Windows\System32>conda init Error while loading conda entry point: anaconda-cloud-auth (OpenSSL 3.0's legacy provider failed to load. This is a fatal error by default, but cryptography supports running without legacy algorithms by setting the environment variable `CRYPTOGRAPHY_OPENSSL_NO_LEGACY`. If you did not expect this error, you have likely made a mistake with your OpenSSL configuration.) Error while loading conda entry point: conda-content-trust (PyO3 modules compiled for CPython 3.8 or older may only be initialized once per interpreter process) C:\Users\rupes\anaconda3\Lib\site-packages\conda_package_streaming\package_streaming.py:25: UserWarning: zstandard could not be imported. Running without .conda support. `warnings.warn("zstandard could not be imported. Running without .conda support.")` C:\Users\rupes\anaconda3\Lib\site-packages\conda_package_handling\api.py:29: UserWarning: Install zstandard Python bindings for .conda support `_warnings.warn("Install zstandard Python bindings for .conda support")`
执行后大量文件提示"no change":
no change C:\Users\rupes\anaconda3\Scripts\conda.exe no change C:\Users\rupes\anaconda3\Scripts\conda-env.exe no change C:\Users\rupes\anaconda3\Scripts\conda-script.py ... (similar messages for other files)
已检查注册表项:
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun No action taken.
已尝试以下操作但未解决:
- 检查并更新环境变量
- 删除其他Python版本避免冲突
- 确认安装OSGeo
解决建议
1. 解决OpenSSL 3.0 legacy provider错误
- 临时生效:在CMD中执行以下命令后再运行
conda init:set CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 - 永久生效:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」→「新建系统变量」,变量名填
CRYPTOGRAPHY_OPENSSL_NO_LEGACY,变量值填1,保存后重启终端。
2. 解决PyO3模块版本兼容问题
- 强制重新安装并更新conda:以管理员身份打开Anaconda Prompt,执行:
conda update conda --force-reinstall - 若Python版本过低(≤3.8),升级Python版本(注意备份现有环境):
conda install python=3.9
3. 解决zstandard缺失警告
安装zstandard的Python绑定:
conda install zstandard
或使用pip安装:
pip install zstandard
4. 解决"no change"初始化失败问题
- 以管理员身份运行CMD/Anaconda Prompt,再执行
conda init; - 指定shell类型执行初始化,比如针对CMD:
针对PowerShell:conda init cmd.execonda init powershell - 临时修改注册表AutoRun项(操作前请备份注册表):打开注册表编辑器,找到
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun,清空其值后重新运行conda init,完成后可恢复原内容。
内容的提问来源于stack exchange,提问作者Rupesh Kumar Yadav Mediboyina
相关产品推荐
相关产品推荐

