如何使用相同的虚拟环境运行Python和Jupyter,使用Visual Studio Code



对于我目前的工作,能够使用适当的库版本配置虚拟环境,并能够运行python项目或jupyter中的单元将非常有帮助。这是因为我工作中有些人使用 jupyter,有些人使用 Python,有时两者兼而有之,这样我就拥有一个可以运行这两种类型的集中式程序,我没有发现付费版本的 PyCharm,我的公司不提供。

几天前我刚刚了解了Linux的Windows子系统,WSL,并且可以从Visual Studio Code中启动,所以我觉得这是我最好的选择,只需一个程序即可实现编程的双重性质,而不是像过去那样运行多个程序。

截至目前,我有一个使用 WSL 克隆的存储库,用于具有不同".py"文件的 git 项目,我使用 VSC 打开它,然后在 VSC 中打开终端,我既可以编辑 Python 代码,也可以在终端上运行它,使用 bash 命令,就像我在 Ubuntu 中一样(我正在从 Windows 完成所有这些操作,但如果这意味着能够切换到 Ubuntu执行此类型的设置(。

当我使用"在终端中运行 Python 文件"运行时,它使用我之前创建的 virtualenv。

问题是,使用 Jupyter,它无法检测到我安装了库(例如 Pandas(

到目前为止,我对 Jupyter 的过程的描述:使用 WSL 控制台,我启动了一个jupyter notebook &。然后我连接到该服务器,使用"为连接指定本地或远程 Jupyter 服务器"的 VSC 选项,使用"现有"选项,复制 URL,然后转到".ipynb"文件并开始运行代码。

如果在Jupyter单元中,我

import os
os.environ['VIRTUAL_ENV']

我可以看到我的虚拟环境。如果在那之后,我跑import pandas我得到了ModuleNotFoundError: No module named 'pandas'

如果我这样做!pip freeze我可以看到我在该环境中安装的所有库和正确版本。

我觉得我快到了,但缺少了一些东西。我的猜测是,由于某种原因,import可能会使用某个默认安装的 Python,而不是环境中的 Python。

通过执行此答案的建议来解决。其余的答案也可能有所帮助:

https://stackoverflow.com/a/51036073/6028947

最新更新