Miniconda初始化zsh时遭遇Python TypeError问题求助
解决conda init zsh时出现TypeError: memoryview: a bytes-like object is required, not 'str'
问题描述
完成Miniconda安装包下载与清理后,执行~/miniconda3/bin/conda init zsh并输入密码后,触发以下错误:
File "/Users/angeliquecd/miniconda3/lib/python3.11/subprocess.py", line 2088, in _communicate input_view = memoryview(self._input) ^^^^^^^^^^^^^^^^^^^^^^^ TypeError: memoryview: a bytes-like object is required, not 'str'
怀疑是安装器与系统Python版本不兼容导致,已尝试切换Python 3.11和3.12,未解决,求可行方案。
解决建议
手动配置环境变量绕过conda init
编辑zsh配置文件~/.zshrc,添加以下内容:export PATH="$HOME/miniconda3/bin:$PATH"保存后执行
source ~/.zshrc,通过conda --version验证是否生效。重新安装指定Python版本的Miniconda
先卸载现有Miniconda:rm -rf ~/miniconda3 rm -rf ~/.condarc ~/.conda ~/.continuum下载Python 3.10版本的Miniconda安装包(兼容性更稳定),安装时选择“no”跳过自动init步骤,之后手动配置上述环境变量。
临时修复subprocess编码问题
设置环境变量强制subprocess使用bytes输入:export PYTHONIOENCODING=utf-8再次尝试执行
~/miniconda3/bin/conda init zsh;若仍失败,可应急修改conda init脚本:找到~/miniconda3/lib/python3.11/site-packages/conda/cli/main_init.py,将调用subprocess时的输入参数转为bytes类型(比如input=password.encode('utf-8'))。使用dry-run模式手动追加配置
执行命令查看需要添加的配置内容:~/miniconda3/bin/conda init zsh --dry-run将输出中的配置代码手动追加到
~/.zshrc,再执行source ~/.zshrc完成配置。
内容的提问来源于stack exchange,提问作者Angel
相关产品推荐
相关产品推荐

