我以前曾让Conda在Mojave上顺利运行,但是我发现升级到Catalina会将“ anaconda3”文件夹移动到“桌面”>“重定位项”>“安全性”>“ anaconda3”。似乎Catalina的安全设置可能不再允许应用程序直接安装在用户目录下。
我尝试了建议here,写在下面:
嗨,我可能有解决办法
- 将位于“重定位项”中的文件夹anaconda3复制到/ Users / myname /
- 打开终端
- 输入:export PATH =“ / Users / myname / anaconda3 / bin:$ PATH”
- 输入:conda init zsh
成功了!祝好运!
但这对我不起作用。在conda init zsh
之后,我得到:
-bash:/ Users / USER / anaconda3 / bin / conda:/ anaconda3 / bin / python:错误的解释器:没有这样的文件或目录
如何在不丢失所有虚拟环境的情况下重新启动并运行Conda?谢谢!
更新
我按照@Ted Shaowang的建议让Conda工作。这意味着conda env list
显示了通过Conda创建的所有虚拟环境。
但是我仍然遇到virtualenv
的问题,因为自从我更改了默认的anaconda3文件位置以来,找不到python。
找不到位于.virtualenvs/env/bin/python
的python可执行文件。我是否还需要进行进一步的更改以使python也可以从virtualenv
开始工作?
答案 0 :(得分:6)
我有完全相同的问题,这对我有用:
将anaconda从“重新分配的项目”移至~/anaconda3
后,将~/anaconda3/bin/conda
文件的第一行从#!/anaconda3/bin/python
移至#!/Users/USERNAME/anaconda3/bin/python
以反映更改。
答案 1 :(得分:2)
我可能会放弃使用上述解决方案。该~/anaconda3/bin
目录具有许多可运行对象(而不仅仅是conda
一个),需要以这种手动方式对其进行更改。例如,除非进行相同的更改,否则您将无法运行jupyter notebook
,也不能从base
或其他环境运行。
我的提示:尝试获取虚拟环境的需求文件,然后重新安装。您可以使用pipreqs
来获取用于各个项目的需求:https://www.idiotinside.com/2015/05/10/python-auto-generate-requirements-txt/
答案 2 :(得分:2)
不解决文件中固有的硬编码前缀条目,没有解决方案将完全起作用。 https://www.anaconda.com/how-to-restore-anaconda-after-macos-catalina-update/
中有更长的描述和建议的修复程序答案 3 :(得分:1)
从技术上讲,这是在重新安装anaconda,但是,我恢复了所有conda env,因此,希望这是可以接受的解决方案!
这是几分钟前我在Catalina上运行它的方式(现在使用z-shell): -验证了我的桌面上是否存在“已重定位项目”目录以及内部的“ anaconda3”目录及其内容 -导航到“ anaconda3”下的envs目录,并使查找程序窗口保持打开状态(请参见屏幕截图)
之后:
运行(已安装到/ usr / local / anaconda3):
酒桶安装蟒蛇
安装成功后,我打开了〜/ .zshrc文件(用于我的z-shell别名)并添加了以下行:
export PATH =“ / usr / local / anaconda3 / bin:$ PATH”
保存了我的〜/ .zshrc文件,然后重新加载:
源〜/ .zshrc
要验证conda命令现在可以正常运行,我跑了:
conda环境列表
对我来说,这表明它是一个基本环境,就是这样
然后将Finder打开到新的环境位置: 打开/ usr / local / anaconda3 / envs/。
我将所有旧的env拖动(移动)到新的envs文件夹中,然后运行:
conda环境列表
我所有的旧环境又回来了! :)
答案 4 :(得分:1)
这对我有用。
这些是我的头文件(Catalina 10.15):
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
运行sudo find /Library -name stdio.h
来查看您的位置。
Mojave 10.14头文件:
$ sudo find /Library -name stdio.h
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
可以看出,与Mojave不同,SDK现在分为MACOSX10.14和10.15。
TLDR
所以,这些是我在Catalina上的SDK文件夹:
MacOSX.sdk
重命名为MacOSX_orig.sdk
MacOSX10.14.sdk
MacOSX.sdk
您的文件夹结构现在应如下所示:
像这样,我们基本上将以前版本的OSX SDK作为sysroot使用。希望这会有所帮助。
答案 5 :(得分:0)
不确定是否将其视为评论或至少是临时的答案,但是我现在暂时不要尝试解决Anaconda的任何Catalina兼容性问题。请参见此GitHub问题。
答案 6 :(得分:0)
我遇到了同样的问题,对我来说这是可行的: 我的解决方案:
#!/anaconda3/bin/python
修改为#!/Users/YourUserName/anaconda3/bin/python
export PATH=''/Users/YourUserName/anaconda3/bin:$PATH"
conda init zsh
答案 7 :(得分:0)
我遇到了同样的问题,以下解决方案对我有效,这是最简单的解决方案:
与其将混乱的anaconda3文件从重新定位的项目复制到User / USERNAME目录中,不如将其从官方网站上重新安装anaconda navigator的最新版本:https://www.anaconda.com/distribution/#macos
在安装过程中,它会询问您一些由新的Apple安全策略产生的权限,只需授予它们,它的工作方式就如同在全新安装后一样!