1
Baboonowen 2019-01-09 00:48:28 +08:00 via Android
帮顶
|
2
jiangnanyanyu 2019-01-09 01:05:11 +08:00 via Android
conda 的会带有系统相关的依赖,vir 只会有应用层面的依赖,是不是这样理解?
|
3
ooleslie OP @jiangnanyanyu 能否具体说明下什么是系统相关的依赖性,单词我理解,就是不了解具体可能的情况是什么
|
4
jiangnanyanyu 2019-01-09 01:16:57 +08:00 via Android
@ooleslie 我这样说吧,比如这个包 pywin32 是个系统级别的依赖包,我在 pycharm 里面使用 virenv,克隆自 conda 的 python,并不会带有这个包,而我 conda 的 python 是带有 pywin32 的这个包的,但是我克隆的 virenv 选的是继承所有的包的,但是他并没有帮我把 pywin32.带上。也就是说 virenv 它克隆环境的时候,并不会克隆系统级别的包
|
5
jiangnanyanyu 2019-01-09 01:17:44 +08:00 via Android
我不知道这样解释正不正确,但是这是我的理解,欢迎知道的大佬探讨。
|
6
ooleslie OP @jiangnanyanyu 我消化消化,谢谢
|
7
visitant 2019-01-09 03:02:51 +08:00 via iPhone
venv 出现就是为了每一个 project 都有自己独立的一系列包依赖而不影响其他 project。Anaconda 则是一个自带了很多依赖包的 python,你在 python 里选 venv,它还是会隔离所有的包,但如果你选 conda,就会继承 Anaconda 的包。我是这么理解的,不过没怎么用过 conda,不知道系统依赖是什么情况
|
9
visitant 2019-01-09 03:06:25 +08:00 via iPhone 1
我觉得像这种功能,应该先了解下这些软件 or 功能的本来面目,不要先用 ide,用命令行先熟悉下再用 ide 会好一些
|
10
yuikns 2019-01-09 05:12:27 +08:00
让我帮你 google 一下: https://stackoverflow.com/questions/38217545/what-is-the-difference-between-pyenv-virtualenv-anaconda/39928067
virtualenv 是在当前版本已有的 python 下继承基本的 binary,以及可选的一部分库,然后在用户目录安装自定义的包。 conda 主要是严格的包管理。比如我就要版本号为 123 的那个,就是不多不少。environment.yml 定好版本,在不同的部署环境下严格一致。 此外,anaconda 安装后,每次命令都会保存 log,你可以通过 --rev 命令回滚,还可以从 python 3.1 切换到 3.2,cuda 版本号自己随便改,gcc 也可以内部集成一个。 |