【问题标题】:Jupyter running different version of uninstalled library?Jupyter 运行不同版本的已卸载库?
【发布时间】:2020-03-01 05:21:34
【问题描述】:

所以我试图修改一个现有的库,而不是聪明地使用pip -e,我只是安装了这些库,然后将修改后的文件交换为我想要的任何更改。例如,如果我有:

Library A/ 
---doSomethingA.py 
---otherFiles.py

我刚刚删除了doSomethingA.py,并将其替换为我的doSomethingA.py 版本。从理论上讲,我认为,因为我在本地编辑文件,它应该仍然按我的库的计划工作,并具有我想要的任何额外功能。

但是......它基本上是疯了。虽然我可以在文件中看到我编辑的更改,但当我运行库时,它显然没有运行该文件。我做了类似的事情:

  1. 注释掉整个文件(仍然以某种方式运行)

  2. 实际上使用doSomethingA.py 卸载库和另一个脚本的一部分它仍然运行? (即 import libraryA 之类的东西在 JupyerHub 上有效,但在 putty 终端上无效...?)

我显然已经得出结论,它没有运行它所说的文件(相信我,我已经检查了 10 次文件的路径)。

我的问题是:

  • 这怎么可能? python会在哪里存储文件的另一个副本等?

我也删除了__pychache__,但我想不出别的办法。我最好的选择是放弃并创建一个新的虚拟环境等吗?

【问题讨论】:

  • 你记得重启 Python 吗?
  • @user2357112 你的意思是重新启动python内核吗?因为我已经做到了

标签: python pip jupyter-notebook


【解决方案1】:

我了解到您在 jupyter hub 上运行。

这意味着您的 python 正在服务器上远程运行,并且框架正在注意同步您的本地项目(但不是已安装的库)。

服务器上的 python 不知道你本地的变化。

作为临时缓解措施,您可以将安装的库复制到您的项目根目录。

【讨论】:

  • 啊,所以你是说 Jupyter Hub 每次我制作它们时都会检查并更新来自 ProjectA 的更改,但是如果我安装 LibraryA 它只会在安装后与该库同步一次?我不明白为什么它在卸载后仍然可以部分运行
  • 这通常发生在远程解释器中。站点包很大,同步很昂贵。用户项目通常很精简。
  • 我暂时离开了 JupyterHub,但你的回答是救命稻草,谢谢 :)
猜你喜欢
  • 1970-01-01
  • 2016-06-10
  • 2020-01-25
  • 2020-12-13
  • 1970-01-01
  • 2021-07-02
  • 2021-01-10
  • 2016-12-28
  • 2014-07-19
相关资源
最近更新 更多