首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Anaconda与PTVS - "conda list“与"pip list”和PTVS不同

Anaconda与PTVS - "conda list“与"pip list”和PTVS不同
EN

Stack Overflow用户
提问于 2016-12-13 07:00:53
回答 1查看 376关注 0票数 1

我使用"conda env create -n TestOne“创建了一个新的蟒蛇环境,它创建了一个没有安装软件包的新Python3.5环境。

我在Visual Studio中使用PTVS,并手动添加了新环境和路径,如下所示:http://kronoskoders.logdown.com/posts/73461-using-anaconda-and-ptvs

然后,我激活了环境并在命令提示符下运行: conda install -c conda-forge pyside

现在,当我运行"pip list“时,它不同于"conda list”,似乎是Visual Studio中的Python Environments>TestOne显示了pip列表。有没有办法获得使用anaconda实际安装的内容的准确列表?

如果我转到“工具”->“Python工具”->“Python环境”,选择我创建的TestOne环境,从下拉菜单中选择“智能感知”,然后刷新数据库。我在列表中看到了PySide,它在“智能感知”中可用。

刚开始Python开发时,我有点困惑,它的设置似乎与C#的设置相反。使用C#,您可以下载并引用每个项目的库,与Python一样,您拥有的环境将库作为其中的一部分,在第一次安装后每个项目都可以使用它们。

有没有办法让Visual Studio显示conda列表,这样我就可以很容易地看到实际安装了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-18 16:51:54

PTVS (Python Tools for Visual Studio)还没有完全支持Conda,但我知道它已经在路线图上了,所以我们可以希望支持会有所改善。

目前,PTVS总是使用pip来安装新的包,并且不会自动检测conda环境。但这并不意味着你不能使用它们。

我认为对于您的场景,您可能希望在项目本身中创建一个conda环境,这样每个项目都可以有自己的独特环境,其中包含特定项目的正确包(就像nuget一样)。

因此,请指定前缀,而不是指定环境名称。然后,它将在前缀位置安装环境,而不是全局安装环境,前缀位置可能是相对路径。

在命令提示符下,在根环境的路径中,在项目的根目录中创建一个名为env (或您选择的其他名称)的新环境,并激活它:

代码语言:javascript
复制
cd myproject
conda create -p env python=3.6
activate <full path to project>\env

要让Visual Studio识别并使用此环境,请执行以下操作:

打开Python环境窗口,选择+ Custom....

  • Set Interpreter path以指向env.
  1. Select Auto Detect中的python.exe文件,然后选择Apply以自动完成其他字段。
  2. 在解决方案资源管理器中找到您的项目,右键单击Python Environment,然后选择Add/Remove Python Environments。在列表中,勾选env。现在,在解决方案资源管理器中选择的环境应该是env.

在将项目签入到版本控制中时,不要添加env目录。相反,应导出环境文件并添加以下内容:

代码语言:javascript
复制
conda env export > environment.yml

可以使用以下命令精确地重新创建环境:

代码语言:javascript
复制
conda create -f environment.yml -p env

不要忘记在每次安装、升级或删除软件包时更新environment.yml文件。

最后,请记住在通过conda安装新包时使用命令提示符并激活此环境-不要使用Visual Studio包界面,因为这将使用pip全局安装它们。

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

https://stackoverflow.com/questions/41111125

复制
相关文章

相似问题

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