首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python和conda包管理器

Python和conda包管理器
EN

Stack Overflow用户
提问于 2016-03-23 14:25:07
回答 1查看 560关注 0票数 3

是的,在蟒蛇世界,我也在问同样的老问题。这是关于软件包经理pipconda的。

Pippython包中运行得非常好,但却只能使用带有c-扩展的python包(比如pandas, matplotlib等)。这也是conda在设置环境时节省时间的地方。然而,我无意中发现了一些环境,其中conda通道没有像flask-sqlalchemy, flask-httpauth这样的包,所以您必须使用pip。在我看来,用两个不同的包管理器来管理您的环境听起来很奇怪,可能不可取。

使用此类包管理器管理python依赖项的最佳实践是什么?需要专家的建议,以感觉到差距。

如有任何意见/帮助,将不胜感激。

我也使用Pycharm,它只能识别conda包,而不是pip包。这又是一种痛苦。因此,我不得不回到vim (这很好--我喜欢它),但是调试是困难的,或者它不像IDE那样简单。

我使用Linux/Mac进行开发。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-13 12:52:31

下面是一个不错的工作流示例(来自这个博客):

  1. 在计算机上的~/repos/目录中创建一个项目文件夹。
  2. 在目录中创建一个environment.yml文件。通常,环境名称将与文件夹名称相同。至少,它将指定我希望使用的Python版本;它通常会将anaconda作为一个依赖项。
  3. 使用$ conda env create创建conda环境。
  4. 使用$ source activate ENV_NAME激活conda环境。
  5. 创建一个包含行.env的source activate ENV_NAME文件。因为我已经安装了autoenv,所以每次我导航到终端中的项目文件夹时,都会运行这个文件。因此,当我导航到文件夹时,我的conda环境就会被激活。
  6. 运行$ git init使文件夹成为Git存储库。然后运行$ git add environment.yml && git commit -m 'initial commit'将YAML文件添加到存储库中。
  7. 如果我想将存储库推送到Github,我使用$ git create,使用Github的集线器命令。然后,我使用$ git push -u origin master推动主分支。

这是体面的,但不是完美的。其中一些缺点是:

  1. 直接依赖项与依赖项的依赖项一起列出。
  2. 正确地移除包是很复杂的。
  3. 当有从其他来源安装的软件包时,它不起作用。

然而,这是一个很好的开端,根据我的经验,大多数团队都不会费心发明比这个更好的解决方案。

P.S.:在过去的一年里,PyCharm显著改善了其对conda的支持,到2017年4月,它正确地承认了conda和pip包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36180868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档