V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
capbone
V2EX  ›  Python

用 PyCharm + Anaconda 做科学计算时正确的包管理逻辑应该是怎么样的?

  •  
  •   capbone ·
    qiujueqin · Jan 22, 2019 · 3194 views
    This topic created in 2654 days ago, the information mentioned may be changed or developed.

    之前用 Python 做过几个图像处理相关的项目,当时在 PyCharm 中没有特别关注解释器的选择,一般都是用 conda 创建一个 new env 然后再在里面安装所需的包。但是今天无意中看了一下 Anaconda 的安装目录,里面 envs 文件夹下基本每个子文件夹都有 1G 多大,而且每个项目的 Lib\site-packages 目录下基本都包含了重复的包,比如 numpy、matplotlib 这些,感觉既浪费硬盘空间,也让每个项目变得很臃肿。

    我想请问下,如果假设我创建的所有项目都是基于同一个 Python 版本的,是否存在一种解决方案,能够在让所有项目共享一部分常用的包(比如 numpy、scipy 等等)的基础上,又允许为每个项目单独指定一些包?举个例子,我之前在 Anaconda prompt 中安装了 tensorflow,但是最近我想新建一个项目用来练手 pytorch,能不能让这个项目中不再出现 tensorflow 这个包?

    PS:还有一个问题,PyCharm 的 Setting -> Project -> Project Interpreter 中,最右边有一个 Anaconda logo 的绿色小圈圈,写着 Use Conda Package Manager,这个到底应不应该勾选呢?

    6 replies    2019-01-23 12:45:39 +08:00
    SeaRecluse
        1
    SeaRecluse  
       Jan 22, 2019
    环境隔离一般是针对不同软件版本带来的问题的吧(比如 py2,py3 ),既然你基础环境相同,就直接 conda install 呗
    clavichord93
        2
    clavichord93  
       Jan 22, 2019 via iPhone
    我选择 conda 装 env 然后在 env 里面用 pip 装包
    Rubbly
        3
    Rubbly  
       Jan 22, 2019
    由于 python 不同包之间的依赖关系,anaconda 并不支持已安装包的共享,只是会利用一些 cache 来省去二次下载的过程或者初始环境时的 clone 功能。
    一开始用 Anaconda 的时候,我也是习惯一个框架一个环境,后来磁盘空间实在窘迫,就还是按照 python 版本划分了两个子环境,用到现在也觉得没必要再细分了。另外 Use Conda Package Manager,这个应该对应的是这个 button 上面的那个+号之类的功能吧... 无关紧要了,反正也是命令行安装。
    capbone
        4
    capbone  
    OP
       Jan 23, 2019
    @SeaRecluse @clavichord93 @Rubbly 呃... 你们都是用命令行来装包吗?我是直接在 PyCharm 里面用那个 GUI 来搜索然后安装,这样是不是有什么问题?
    @Rubbly 所有项目都共享一个环境的话,时间长了会导致堆积了很多不必要的包吧,而且版本间可能也会有些冲突。关键是我使用的其中一台机器配置不高,每次打开 PyCharm 非常慢,indexing 的时间非常长,我担心共用一个环境的话可能会拖慢 PyCharm 更多...
    SeaRecluse
        5
    SeaRecluse  
       Jan 23, 2019
    @capbone sublime text/vscode 欢迎你😂
    Rubbly
        6
    Rubbly  
       Jan 23, 2019
    @capbone 因为经常会在服务器上操作,所以一切环境配置的事都很少用图形页面去做了。至于 PyCharm,根据我的经验,只有在对环境进行更改后,才会进行一次 re-indexing,平时打开应该只是读取了某个 table ?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3249 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
    ♥ Do have faith in what you're doing.