我有兴趣能够在未来繁忙的旅行期间在途中使用笔记本电脑进行工作,我知道我将连续几个小时无法连接互联网。不久前,我已经问过一个类似的问题,关于普通的 .py
文件,这要直接得多,但是我尝试使用 Jupyter 笔记本来解决这个问题,这激励我提出一个专门的问题。
之前提出的问题中的评论答案)都表明笔记本应该在没有互联网连接的情况下完全可以工作(??) - 显然假设有我的代码中没有明确的依赖关系,并且所有必需的软件包都已提前安装。 这是我迄今为止所做/尝试过的:
重新安装之前,首先按照
jupyter notebook
。从 Notebook 的主页 http://localhost:8888/tree :新建 > Notebook > Python 3 (ipykernel)。尝试执行单元格print('hello')
。在此过程中的任何时候,内核始终处于“忙碌”状态,从不“空闲”,从而导致扩展的 In [*]:
单元状态。一段时间后,我收到“无法建立与笔记本服务器的连接。笔记本将继续尝试重新连接。请检查您的网络连接或笔记本服务器配置。”错误。使用创建的新环境conda create --name myenv
。当然,接下来是 conda activate myenv
,然后是 conda install jupyter
,以确保 myenv
中存在正确的依赖关系。重复 1 中的过程。结果相同。尝试在不同的 IDE 中重复 1. 和 2.,在这些 IDE 中,我可以通过互联网连接print('hello')
单元执行没有问题。如果笔记本在没有互联网连接的情况下启动,则超时//单元格运行失败/In [*]
行为。其他一些注意事项:
我确实在我尝试过的所有环境中都安装了
ipykernel
base
或
myenv
,我都可以从 Anaconda Prompt 启动
ipython
实例。
这可能与上一点有关,但是我发现的最接近的解决方法是在 Spyder 中使用
.py
# %%
“单元格”,这些文件在 IPython“控制台”风格 IDE 中运行。这是我能够在过程中任何时候没有互联网连接的情况下获得笔记本类型行为的唯一方法。我应该注意到,这需要很长时间才能首次初始化,但一旦启动它就可以工作了。我知道 VSCode 具有类似的能力来运行伪 # %%
单元,但在这里我无法让“单元”在没有互联网的情况下运行,而在 Spyder 中我可以。
在所有这些场景/IDE 中,如果内核首先
通过互联网连接进行初始化,则内核将继续运行
conda
环境中,内核初始化都存在某种问题。我尝试过的另一个主要故障排除步骤是
最后我应该说我更喜欢使用 VSCode,但问题显然超出了 IDE 特定的问题。预先感谢您的帮助!!
我也遇到这个问题了。如果没有互联网连接,我的 jupyter 笔记本将无法启动。