我在用最新版 pycharm 的时候, 配置了 anaconda3, 但默认还要新建 virtualenv. 但新建之后, 里面的 python3 环境是完全干净的, 并没有 anacaonda 的那些科学计算库, 那为什么 anaconda3 还需要使用 virtualenv 呢?有什么好处吗?
1
hu6360567 2018-07-22 10:35:44 +08:00 via Android
你说的是 condaenv 还是 virtualenv ?
|
3
ddzzhen 2018-07-22 11:21:17 +08:00 via Android
环境配置没有选好路径,不用管自动新建的那个
|
4
bucky 2018-07-22 11:44:52 +08:00
anaconda 和 virtualenv 两个没关系,anaconda 功能更多一些,也包括创建虚拟环境
|
5
est 2018-07-22 11:47:14 +08:00
anaconda3 是一个母仓库,用 venv 建立多个平行的子工作环境。
|
6
kingcos 2018-07-22 12:45:58 +08:00 via iPhone
两个没关系吧,Pycharm 能选择的
|
7
zhusimaji 2018-07-22 14:13:55 +08:00 via iPhone
虚拟环境和 anaconda 没啥关系,我以前用 anaconda2.7 后来项目全部使用 3.6 所以我直接新建个个虚拟环境方便快捷
|
8
dartabe 2018-07-22 15:26:43 +08:00
同样被这几个东西绕晕了 网上也没找到太简洁的答案
|
9
xiaozizayang 2018-07-22 17:57:04 +08:00
你可以这样想也这样用,但用 env 的目的是在一个 anaconda 大的版本下建立力度更小的虚拟环境
比如 10 个项目依赖 py3.6,你不用用 anaconda 建立十个 py3.6 版本项目环境,你可以只用建立一个 py36 的环境,然后基于这个 3.6 版本建立十个虚拟环境,比如使用 pipenv 进行管理 |
10
xiaozizayang 2018-07-22 17:58:05 +08:00
@est 你说得对
|
11
darouwan OP @est 这个我知道,但是用 virtualenv 新建的仓库是空的,没有 anaconda 的那些包, 这样使用 anaconda 的意义何在呢?
|
12
darouwan OP @kingcos 只是我看默认是新建虚拟库, 但新建的虚拟库并没有 anaconda 的第三方计算包, 不知道这样的意义何在
|
13
darouwan OP @xiaozizayang 但是这小的虚拟环境, 我看并没有继承 anaconda 的包, 既然这样, 为何不直接用干净的 python 呢
|
15
ayang23 2018-07-22 22:21:31 +08:00
你们的 anaconda 可以建 virtualenv ?我试了好多次都不可以
|
16
bucky 2018-07-22 22:45:00 +08:00
@darouwan 大哥,都说了这两个没关系,anaconda 的好处是不仅能创建虚拟环境,还能创建不同版本( 2,3 )的 python 虚拟环境,同时 windows 下有些包用 anaconda 更加容易安装,创建虚拟环境用下面的命令
conda create -n your_env_name python=X.X(2.7、3.6 等) |
17
xyfan 2018-07-22 23:19:20 +08:00
按我的理解,anaconda 里面集成了许多常用的包,这些包很常用,并且相互可能有依赖,如果都自己安装要花很多时间,所以给你了一个集成各种常用包的安装文件,基本不需要自己 pip 或 conda 了,当作科学计算的环境。env 是 pycharm 默认配置的,pycharm 写可能给别人用的项目,自然包越少越好,这样拿到其他环境可以确定只需要某某几个包就能正常运行,而不是说我电脑上有几百个包,你全装一遍肯定能运行。
你要是用 jupyter,spyder,vscode 都不会让你新建虚拟环境。 |
18
ilotuo 2018-07-22 23:41:20 +08:00
我的理解是
virtualenv 用来创建最小环境. 只带标准库. 不同环境是不同容器. 不同环境安装的软件互相版本独立. pyenv 能用 virtualenv 创建环境, 并指定解释器版本. conda 同 pyenv, 能指定解释器. 是用 virtualenv 创建的环境, 并在此环境安装好科学计算库. |
19
sw0rd3n 2018-07-22 23:47:27 +08:00
刚装好 conda 手贱 rm 删了...
|
20
darouwan OP @bucky 那等于说, 这里建立虚拟环境, 主要是用 anaconda 方便建立各种版本的环境的这个特点, 而跟自带的各种科学库没关系?
|
21
bucky 2018-07-24 08:18:00 +08:00 via Android
@darouwan 对呀,Python 创建虚拟环境的方法太多了,而且多多少少都有点问题,用 anaconda 最统一,最省心,不管 win 还是 Linux 下都没有问题,同时在 win 下安装包的时候用 anaconda 比 pip 安装要好一些,pip 有时候会安装失败,所以使用 anaconda,学习 conda 命令是最划算的,否则那么多创建虚拟环境的工具,别说用了,就是选择用哪个都要花费你不少时间,最近好像又出了新的工具。anaconda 还有 minianaconda 这个版本,不用科学计算,安装这个就可以,小很多,好像几十兆吧
|