Conda vs. pip 在 Spyder 下的比较

8 浏览
0 Comments

Conda vs. pip 在 Spyder 下的比较

我有一个关于conda和pip虚拟环境的两个问题。我在What is the difference between pip and conda?Does Conda replace the need for virtualenv?上找到了很好的答案,但仍有一些不清楚的地方。

我有一个给定的Python项目(假设为PR),我需要在安装有Anaconda的Linux服务器(假设为S)上安装并进一步开发。现在,PR的使用/安装说明告诉我使用python创建虚拟环境,并使用pip安装所有软件包。也就是说,

python3 -m venv PR

pip install --editable .(末尾包括点号)

根据"pip install --editable ./" vs "python setup.py develop",后者会读取PR中包含的setup.py文件,其中包含一个带有install_requires选项的setup(...)函数,列出了所有所需的软件包并自动安装它们。我在没有conda的自己的计算机上测试过,没有出现错误消息。至少没有错误消息。

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

在S上,我有Spyder和没有其他Python IDE。我从未使用过Spyder,但我对PyCharm(Windows)和VS Code(Linux)非常熟悉,所以我认为在Spyder中进行调试将类似于这些IDE。我的问题2(与问题1相关):如果我必须使用pip安装软件包,Spyder能否看到这些软件包?还是它只能看到通过conda安装的软件包?

编辑/更新):感谢Carlos的评论。我继续我的问题:

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

conda create PR_venv
conda activate PR_venv

使用以下命令安装了pip

conda install pip

(这升级了pip并安装了其他几个软件包,包括更新版本的Python)。使用pip安装了PR及其所需的软件包

pip install -e .

现在,如果我从终端在此活动VE中交互地运行PR软件包,一切都正常。我希望能够在Spyder中做同样的事情,以便利用IDE的调试能力。

当我启动Spyder,在Python文件中点击“运行”按钮时,它在导入语句处崩溃。

Spyder看不到已安装的软件包。它只能看到本地软件包PR,而看不到由pip为此VE安装的任何软件包。

我不确定这里的正确问题是什么;我对conda VE与Spyder/jupyter/ipython的关系感到困惑。我在conda文档中找不到相关信息。

我在Spyder文档中找不到关于VE的任何信息。我是否需要在Spyder中重新安装软件包(如何安装?)?这似乎毫无意义,因为软件包已经安装好了。

编辑/更新2):关于https://docs.spyder-ide.org/current/installation.html上的信息让我更加困惑:Spyder被介绍为独立程序和Python包两种形式。所以我是否需要在VE中重新安装Spyder(?!):

conda activate PR_venv
conda install spyder

任何澄清都将不胜感激。我一直以为IDE是独立的程序,仅此而已。这个Spyder的设置让我头疼。

0
0 Comments

Conda vs. pip under Spyder

在Spyder下,Conda与pip的比较

问题的出现的原因:

- 用户想知道是否能够使用conda来创建和更新虚拟环境;

- 用户想知道在使用conda的情况下,替代"pip install --editable ."命令的conda命令是什么;

- 用户想知道当需要使用pip来安装包时,Spyder是否能够识别这些包,或者它只能识别conda安装的包。

解决方法:

1. 用户可以使用conda来创建和更新虚拟环境,可以参考conda提供的功能来管理环境;

2. 虽然conda没有一个很好的替代命令来代替"pip install --editable ."命令,但是用户仍然可以在conda环境中使用该命令。在运行该命令之前,需要确保已经使用conda安装了所有的包依赖,以避免混合使用conda和pip包所导致的问题;

3. Spyder可以正常使用pip和conda安装的包,只需要确保不要混合使用它们即可。此外,用户可以阅读我们的文档,了解如何将本地的Spyder实例连接到远程服务器。

以上是关于在Spyder下使用Conda和pip的比较的问题的出现原因和解决方法。

0
0 Comments

问题:Conda和pip在Spyder下的使用问题

原因:在Spyder中,默认情况下无法识别和使用通过conda或pip安装的包。

解决方法:

1. 使用conda创建虚拟环境并安装pip:

conda create PR_venv
conda activate PR_venv
conda install pip
pip install --editable .
conda list

最后一行显示了通过conda和pip安装的包(通过pypi显示)。

2. 安装spyder-kernels:

conda install spyder-kernels

3. 打开Spyder,在"Tools"菜单中选择"Preferences",然后选择"Python Interpreter",勾选"Use the following interpreter"并输入虚拟环境Python命令的完整路径。

4. 重新启动Spyder,现在可以识别和使用通过conda或pip安装的包。

参考链接:https://github.com/spyder-ide/spyder/wiki/Working-with-packages-and-environments-in-Spyder

0