每当我跑步时conda install/remove/update <package>,它会告诉我这是"解决环境"一段时间,然后再告诉我要下载/安装/更新的内容列表.据推测它正在寻找依赖关系<package>,但为什么它在执行此操作后有时会删除包?例如,当我尝试安装Mayavi时,它决定需要删除Anaconda Navigator.
此外,它不提供仅执行建议操作的子集的选项.有没有办法指定我不想删除包?
我想将我的基础环境升级到 Python 3.8。根据官方文档,我应该运行conda install -c anaconda python. 然而,这只会升级 Python 3.7,所以,最后:
(base) C:\Users\bob>conda install -c anaconda python
Collecting package metadata (current_repodata.json): done
Solving environment: done
# All requested packages already installed.
(base) C:\Users\bob>python --version
Python 3.7.6
Run Code Online (Sandbox Code Playgroud)
conda update -c anaconda python 只更新了一些包,而不是 Python 本身。
如果我指定一个版本,就像这里解释的那样,在分析依赖关系两个小时后,升级会因为冲突而失败。
我设法设置了一个 3.8 环境,但我宁愿升级我的基本环境,因为它是我在 Anaconda 之外使用的系统路径。
有什么建议吗?
默认情况下,anaconda正在使用我的root环境。但是,我始终使用另一个称为py34手动激活的环境。是否可以将默认环境从更改root为另一个环境?
编辑:我忘了提到我在Windows上工作。在Unix系统上,添加一行.bashrc当然是一种解决方案。
我最近开始使用PEP 484和PEP 586使我的代码更清晰,更易于访问。到目前为止一切正常,但是当我想Literal从包中使用时,typing它似乎无法导入。最令人惊讶的是,PyCharm 根本没有抱怨导入或使用它。
我最终想使用的代码如下所示:
SomeVar = TypeVar("SomeVar", Literal['choice1'], Literal['choice2'], someType)
Run Code Online (Sandbox Code Playgroud)
在您可以使用字符串来描述您想要的内容或已经制定的解决方案的情况下,将使用它,例如:
def someFunc(my_var: SomeVar = 'choice1'):
result = []
if my_var == 'choice1':
result.append(...)
else:
result = my_var
return result
Run Code Online (Sandbox Code Playgroud)
我使用带有 Python 3.7.7 的 Anaconda 环境。