gro*_*zek 128 python env pip anaconda conda
我已经安装并一直在使用Anaconda Python发行版,我已经开始使用Anaconda(Conda)环境了.我可以使用标准conda install...命令将包中的包放入我的环境中,但是要使用外部的任何东西(例如Flask-WTF,flask-sqlalchemy和alembic),我需要pip install在活动环境中使用.但是,当我查看环境的内容时,无论是在目录中,还是使用conda list这些pip installed包都没有显示出来.
使用pip freeze并pip list列出我曾经安装的每个包.
有没有一种方法来跟踪什么是在我的每一个巨蟒env(能够对S pip和conda安装)?
con*_*xyz 110
conda-env现在自动执行此操作(如果pip与conda一起安装).
您可以使用用于迁移环境的导出工具来查看其工作原理:
conda env export -n <env-name> > environment.yml
Run Code Online (Sandbox Code Playgroud)
该文件将列出conda包和pip包:
name: stats
channels:
- javascript
dependencies:
- python=3.4
- bokeh=0.9.2
- numpy=1.9.*
- nodejs=0.10.*
- flask
- pip:
- Flask-Testing
Run Code Online (Sandbox Code Playgroud)
如果您希望继续导出环境,请移至environment.yml新主机并运行:
conda env create -f path/to/environment.yml
Run Code Online (Sandbox Code Playgroud)
Vik*_*kez 64
conda只会跟踪它安装的软件包.并且pip将为您提供使用pip安装程序本身安装的软件包,或者setuptools在他们的setup.pyconda构建中使用它们生成egg信息.所以你基本上有三种选择.
你可以采取的联合conda list与pip freeze和管理使用安装的软件包conda(即展现在conda list)与conda包管理器,并确保安装与个位pip(即秀pip freeze,但不是在conda list)与pip.
只在您的环境中安装python,pip并distribute打包和管理所有内容pip.(如果你在Windows上,这不是那么简单......)
构建自己的conda包,并使用conda.
我个人会推荐第三个选项,因为它很容易构建conda包.在continuum的github帐户上有一个git的示例配方存储库.但它通常归结为:
conda skeleton pypi PACKAGE
conda build PACKAGE
Run Code Online (Sandbox Code Playgroud)
要不就:
conda pipbuild PACKAGE
Run Code Online (Sandbox Code Playgroud)
此外,当您构建它们一次时,您可以将它们上传到https://binstar.org/并从那里安装.
然后你将使用所有管理conda.
Tra*_*ant 24
conda(new-pypi-install)的一个分支增加了与pip和PyPI的更好集成.特别是conda list也将显示pip安装的包,conda install将首先尝试查找conda包并且失败将使用pip来安装包.
这个分支计划在本周晚些时候合并,因此conda 2.1版将与conda进行更好的pip集成.
Jos*_*ann 16
我跟着@Viktor Kerkez的回答并取得了不同程度的成功.我发现有时这个配方
conda skeleton pypi PACKAGE
conda build PACKAGE
看起来一切正常但我无法成功导入PACKAGE.最近我在Anaconda用户组上询问了这个问题,并听取了@Travis Oliphant本人关于使用conda构建和管理Anaconda不附带的软件包的最佳方法.你可以在这里阅读这个主题,但我将描述下面的方法,希望能够更完整地回答OP的问题......
示例:我将使用conda 2.2.5在Windows上安装优秀的prettyplotlib软件包.
1A) conda build --build-recipe prettyplotlib
在构建的最终TEST部分之前,您将看到构建消息看起来都很好.我看到了这个错误
文件"C:\ Anaconda\conda-bld\test-tmp_dir\run_test.py",第23行import无SyntaxError:无法分配给无TESTS FAILED:prettyplotlib-0.1.3-py27_0
1b)进入/ conda-recipes/prettyplotlib并编辑meta.yaml文件.目前,正如步骤1a中那样设置的包导致yaml文件在该test部分中有错误.例如,这是我的寻找方式prettyplotlib
test: # Python imports imports:
-
- prettyplotlib
- prettyplotlib
Run Code Online (Sandbox Code Playgroud)
编辑此部分以删除前面带有的空行 - 并删除冗余的prettyplotlib行.在撰写本文时,我发现我需要编辑大多数这样的meta.yaml文件,用于我用conda安装的外部包,这意味着有一个空白的导入行导致错误以及给定包的冗余导入.
1c)从1a重新运行命令,这次应完成输出错误.在构建结束时,系统会询问您是否要将构建上传到binstar.我输入了No然后看到了这条消息:
如果您想稍后将此包上传到binstar.org,请键入:
$ binstar上传C:\ Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2
tar.bz2文件是您现在需要实际安装的版本.
2) conda install C:\Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2
按照这些步骤,我已成功使用conda来安装许多Anaconda未附带的软件包.以前,我使用pip安装了其中的一些,所以我pip uninstall PACKAGE在使用conda安装PACKAGE之前做过.使用conda,我现在可以使用单一方法管理(几乎)所有软件包,而不是使用conda,pip,easy_install和python setup.py install安装的东西.
对于上下文,我认为@Travis Oliphant 最近的博客文章将对像我这样的人有所帮助,他们不喜欢强大的Python包装中的所有内容,但当"东西正常"时肯定会欣赏.康达似乎是一个很好的前进方式......
Chr*_*ers 10
这就是我写Picky的原因:http://picky.readthedocs.io/
它是一个python包,用于跟踪virtualenvs和conda envs中使用pip或conda安装的软件包.
| 归档时间: |
|
| 查看次数: |
88768 次 |
| 最近记录: |