如何在虚拟环境中运行 Spyder?
- 2025-03-04 08:25:00
- admin 原创
- 83
问题描述:
我一直在使用与 Anaconda 发行版一起安装的 Spyder,该发行版默认使用 Python 2.7。目前我需要使用 Python 3.4 设置开发虚拟环境。
经过网上研究后,最重要的两条建议是:
首先设置虚拟环境并点击更改Spyder的偏好设置,例如这里;
在虚拟环境中安装所有 Spyder 依赖项,例如 PyQt4,例如这里;
这两项建议都很麻烦,看起来不像是明智的开发选择。
是否有一种解决方案可以在激活所需的虚拟环境后自动运行所需 Python 版本的 Spyder?
解决方案 1:
这是在 2021 年使用 Anaconda Navigator 的快速方法。这是最可靠的方法,除非您想以编程方式创建环境,但我认为大多数用户都不会这样做:
打开 Anaconda Navigator。
单击环境 > 创建并为您的环境命名。如果需要,请务必更改 Python/R 内核版本。
进入“主页”并点击 Spyder 框下的“安装”。
点击“启动/运行”
设置环境时仍存在一些小错误,大多数错误可以通过重新启动 Navigator 来解决。
如果您发现错误,请帮助我们将其发布到Anaconda Issues错误跟踪器中!如果您在创建环境时遇到问题,或者环境创建不正确,您可以仔细检查已安装的内容:单击“环境”将打开一个显示已安装软件包的管理窗口。搜索并选择与 Spyder 相关的软件包,然后单击“应用”以安装它们。
解决方案 2:
有一个选项可以在 Anaconda 中创建具有所需 Python 版本的虚拟环境。
conda create -n myenv python=3.4
要激活它:
source activate myenv # (in linux, you can use . as a shortcut for "source")
activate myenv # (in windows - note that you should be in your c:anaconda2 directory)
更新。我已经用 Ubuntu 18.04 测试过了。现在你必须用这个命令为新环境额外安装 spyder(在使用上面的命令激活环境之后):
conda install spyder
(我也使用 pip 测试了安装,但是对于 Python 3.4 或更早版本,它会出现库依赖错误,需要手动安装。)
现在要使用 Python 3.4 运行 Spyder,只需输入:
spyder
读者编辑:
对于正常打开,请使用“Anaconda Prompt”> activate myenv
> spyder
(然后“Anaconda Prompt”必须保持打开状态,您不能将其用于其他命令,并且强制关闭将关闭 Spyder)。这当然比长时间加载“Anaconda Navigator”>切换环境>启动 Spyder(@adelriosantiago 的回答)更快。
解决方案 3:
对我有用的是:
从环境中运行 spyder(源激活之后)
转到工具 --> 首选项 --> python 解释器并从您想要链接到的环境中选择 python 文件
spyder
,例如:/home/you/anaconda3/envs/your_env/bin/python
在 ubuntu 16、spyder3、python3.6 上工作。
解决方案 4:
要在所有环境中不重新安装 spyder,请按照此处的官方参考进行操作。
总结(使用 conda 测试):
Spyder 应该安装在基础环境中
从系统提示:
创建新环境。请注意,根据您创建环境的方式(conda、virtualenv),环境文件夹将位于系统上的不同位置)
激活环境(例如
conda activate [yourEnvName]
)在环境中安装 spyder-kernels(例如
conda install spyder-kernels
)查找并复制环境中 python 可执行文件的路径。可以使用此命令从提示符中找到此路径
python -c "import sys; print(sys.executable)"
停用环境(即返回基地
conda deactivate
)运行 spyder
最后,在 spyder 工具菜单中,转到“首选项”>“Python 解释器”>“使用以下解释器”并粘贴环境 python 可执行路径
重新启动 ipython 控制台
PS:在 spyder 中你应该在底部看到类似这样的内容
瞧!
解决方案 5:
除了 tomaskazemekas 的回答之外,您还应该通过以下方式在该虚拟环境中安装 spyder:
conda install -n myenv spyder
(在 Windows 上,对于 Linux 或 MacOS,您可以搜索类似的命令)
解决方案 6:
我在尝试让 Spyder 在虚拟环境中运行时遇到了同样的问题。
解决方案很简单:
激活您的虚拟环境。
然后在您的虚拟环境中使用 pip 安装 Spyder 及其依赖项(PyQt5)。
然后从虚拟环境 CLI 启动 Spyder3。
它现在对我来说很好用。
解决方案 7:
上述答案是正确的,但是我spyder
在 virtualenv 中调用时仍会使用我的PATH
来查找默认 anaconda 环境中的 spyder 版本。我找到了这个答案,它给出了以下解决方法:
source activate my_env # activate your target env with spyder installed
conda info -e # look up the directory of your conda env
find /path/to/my/env -name spyder # search for the spyder executable in your env
/path/to/my/env/then/to/spyder # run that executable directly
我选择这样做,而不是修改PATH
或添加指向更高优先级的可执行文件的链接,PATH
因为我觉得这不太可能破坏其他程序。不过,我确实在 中为可执行文件添加了一个别名~/.bash_aliases
。
解决方案 8:
来自Github上的 Spyder 官方页面:
幼稚的做法
要将 Spyder 与其他环境结合使用,最简单的方法是将其直接安装到您想要使用软件包的环境中,然后从那里运行它。这适用于所有 Spyder 版本,并且在安装 IDE 后不需要额外配置;但是,这会导致需要管理多个安装,并且不如替代方案灵活或可配置。因此,在处理多个环境时,我们建议采用模块化方法。
模块化方法
从 Spyder 3.3.1开始,您可以将模块化
spyder-kernels
包安装到您希望工作的任何 Python 环境中(conda
环境virtualenv/venv
、系统 Python、WinPython等),然后更改 Spyder 在其 IPython 控制台上使用的 Python 解释器以指向该环境的 Python 可执行文件。这需要少量的准备和配置,但比在该环境中完整安装 Spyder 更“轻量”且更快,避免了依赖冲突,并开辟了新的工作流程可能性。
要实现此目的,请按照下列步骤操作:
1-激活您想要工作的环境(例如)( 例如使用conda,或使用 virtualenv/venv等)
myenv
`conda activate myenvsource myenv/bin/activate
workon myenv`2-
spyder-kernels
使用以下命令安装该包:3-
conda install spyder-kernels
如果使用 conda/Anaconda,4-
pip install spyder-kernels
如果使用 pip/virtualenv。5- 通过任一方法安装后,在同一环境中运行以下命令:
python -c "import sys; print(sys.executable)"
并复制该命令返回的路径(它应该以 、 或 结尾
python
,pythonw
具体python.exe
取决于pythonw.exe
您的操作系统)。6-停用该环境,激活安装 Spyder 的环境(如果您已将其安装在自己的环境中)并像平常一样启动 Spyder。
7- Spyder 启动后,导航至
Preferences > Python Interpreter > Use the following interpreter
步骤 3 中的路径并将其粘贴到文本框中。8- 启动一个新的 IPython 控制台。
myenv
环境中安装的所有软件包都应在此处可用。如果使用 conda,则当前环境的名称及其 Python 版本应显示在 Spyder 的状态栏中,将鼠标悬停在其上应显示所选解释器的路径。
解决方案 9:
在 Windows 上:
您可以创建执行的快捷方式
Anaconda3pythonw.exe Anaconda3cwp.py Anaconda3envs<your_env> Anaconda3envs<your env>pythonw.exe Anaconda3envs<your_env>Scriptsspyder-script.py
但是,如果您从 Anaconda shell 中的 venv 启动了 spyder,它会在 Windows 菜单中自动为您创建此快捷方式。步骤如下:
使用这里其他答案中提到的方法在你的 venv 中安装 spyder。
(在 anaconda 中:)
activate testenv
;但就我而言,不需要这一步。查找 Windows 菜单“最近添加”或在 Windows 菜单中搜索“spyder”,找到
spyder (testenv)
并
[将其添加到任务栏] 和/或
[查找文件源位置] 并将其复制到您的桌面,例如从中
C:UsersUSERAppDataRoamingMicrosoftWindowsStart MenuProgramsAnaconda3 (64-bit)
可以找到我的任何环境的 spyder 链接。
现在您可以直接从快捷方式启动 spyder,而无需打开 anaconda prompt。
解决方案 10:
对我来说以下有效:
打开 Anaconda,设置新环境,然后选择环境并单击播放图标,如下所示:
然后点击打开终端,在终端中输入“spyder”,它将打开带有选定环境的 spyder。
注意:对于我来说,直接从主页打开 Sypder 总是使用基本环境打开。
解决方案 11:
我遵循了上面的其中一条建议,确实有效。总之,当您在 Ubuntu 上下载 Anaconda 时,使用上面给出的建议可以帮助您“创建”环境。在我的情况下,下载 Spyder 时的默认设置是:(base) smith@ubuntu ~$。创建环境后,即 fenics 并使用 $ conda activate fenics激活它,提示符更改为(fenics) smith@ubuntu ~$。然后从此提示启动 Spyder,即$ spyder,您的系统就会打开 Spyder IDE,您可以在其上编写 fenics 代码。请记住,每次打开终端时,系统都会打开默认提示符。您必须激活包所在的环境,然后提示符更改为它,即 (fenics)。
扫码咨询,免费领取项目管理大礼包!