首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Conda诉Spyder下的pip

Conda诉Spyder下的pip
EN

Stack Overflow用户
提问于 2022-05-30 10:15:11
回答 2查看 153关注 0票数 0

我有一个关于conda和pip虚拟环境的两个部分的问题。我在皮普和康达有什么区别?Conda是否取代了对虚拟化的需求?的答案上找到了很好的信息,但仍然有一些不清楚的地方。

我有一个给定的python项目(比如PR),我需要在安装anaconda的linux服务器(比如S)上安装和进一步开发。现在,PR的使用/安装说明告诉我使用python创建虚拟环境,使用pip安装所有包。那是,

python3 -m venv PR

pip install --editable . (末尾包含的点)

根据"pip安装-可编辑./“vs "python setup.py develop”,后者读取文件setup.py (包括在PR中),其中包含一个函数setup(...)和选项install_requires,列出所有所需的包并自动安装它们。我已经在我自己的电脑上测试过这个(它没有conda),而且工作正常。至少没有错误信息。

现在我需要在S上进一步开发PR。我的问题1:我可以使用conda而不是pip来创建和更新虚拟环境吗?如果是,那么替代pip install --editable .的conda命令是什么?我很肯定,我以后还需要安装其他软件包。我担心conda/pip之间的冲突。

在S上,我有Spyder和其他蟒蛇IDEs。我从来没有使用过Spyder,但是我非常熟悉PyCharm (Windows)和VS Code (Linux),所以我假设用Spyder进行调试将与这些类似。我的问题第2部分(与第1部分有关):如果我必须使用pip来安装软件包,Spyder会看到这些吗?或者只能看到conda安装的软件包?

(Edit/update):感谢卡洛斯的评论。我继续问:

我使用conda创建并激活了虚拟环境(VE)。

代码语言:javascript
运行
复制
conda create PR_venv
conda activate PR_venv

已安装pip

代码语言:javascript
运行
复制
conda install pip

(这个升级的pip也安装了其他几个软件包,包括更新版本的python)。已安装PR及其所需的带有pip的软件包

代码语言:javascript
运行
复制
pip install -e .

现在,如果我从终端以交互方式运行这个活动VE中的PR包,一切都很好。我也想在spyder内部做同样的事情,让IDE的调试能力掌握在我的手中。

启动spyder时,打开要运行的python文件,单击" run“按钮,它会在import语句中崩溃。Spyder无法看到已安装的软件包。它只能看到本地的软件包PR,但没有一个软件包安装为这个VE的pip。

我不知道这里的正确问题是什么;我搞不懂conda VEs与spyder/jupyter/ipython有什么关系?我在conda文档中找不到这方面的信息。我从间谍的文件里找不到任何关于我们的资料。我是否必须以某种方式重新安装软件包(如何安装?)内部间谍?这似乎毫无意义,因为软件包已经安装好了。

(编辑/更新2):关于https://docs.spyder-ide.org/current/installation.html的信息让我更加困惑: Spyder既是一个独立的程序,也是一个python包。那么,我必须重新安装间谍在VE(?!)使用

代码语言:javascript
运行
复制
conda activate PR_venv
conda install spyder

如有任何澄清,将不胜感激。我一直认为IDEs是独立的项目,仅此而已。这个间谍装置把我的大脑扭曲成椒盐卷饼。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-06-09 08:07:43

第1部分:是的,我可以使用conda创建VE和pip来安装软件包

代码语言:javascript
运行
复制
conda create PR_venv
conda activate PR_venv
conda install pip
pip install --editable .
conda list

最后一行显示哪些包由conda安装,哪些包由pip安装(如pypi所示)。

Part 2:spyder默认情况下无法看到包。需要做两件事:

代码语言:javascript
运行
复制
conda install spyder-kernels

打开Spyder和Tools > Preferences > Python解释器>使用下面的解释器> VE python命令的完整路径

重启间谍。现在它可以看到包裹了。

(编辑:)这个链接很好:https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder

票数 1
EN

Stack Overflow用户

发布于 2022-06-05 18:59:08

(这里是间谍维护者)关于你的问题:

我可以使用conda而不是pip来创建和更新虚拟环境吗?

可以,停那儿吧。请参阅这里了解conda为管理环境提供的功能。

如果是,那么替代pip install --editable .的conda命令是什么?

Conda不能很好地替代该命令。但是,您仍然可以在conda环境中使用它,只要您在运行conda之前安装了所有与conda的包依赖关系。这将避免混合conda和pip包,这通常会导致非常糟糕的结果。

如果我不得不用pip安装软件包,Spyder看到了那些吗?或者只能看到conda安装的软件包?

Spyder可以在没有问题的情况下使用pip和conda软件包。只要确保不要混合它们(正如我上面所说的),你就会没事的。此外,请阅读我们的文件以了解如何将本地Spyder实例连接到远程服务器。

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

https://stackoverflow.com/questions/72432693

复制
相关文章

相似问题

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