如何在用于开发的 jupyter notebook 中同一环境中的 python 包的本地副本和基本副本之间切换

How to switch between local copy and base copy of python package within same environment in a jupyter notebook for development

我意识到有很多类似的问题,但答案却满脑子都是。 大多数答案都说使用 virtualenv,然后只是 link 到 virtualenv 文档,它假设对管理包和环境非常熟悉,所以我很难弄清楚如何实际使用它。

我正在对现有的 python 包进行更改。我将 GitHub 存储库克隆到本地文件夹,创建了一个分支,并正在修改该分支内的包(使用 Jupyter Lab)。所有这些都发生在安装了原始包的 conda 环境中。我正在使用 Windows。 我希望能够测试包含我所做更改的包中的 运行 函数,但目前,我认为正在使用原始的、未修改的包版本(尽管我不不知道如何确认,或者如何检查是否正在使用本地版本)。 我也希望能够在原始版本和我的版本之间来回切换以比较我所做的更改的效果。

我熟悉使用 conda 并以这种方式设置环境和包,也熟悉 Jupyter。我对 GitHub 有点满意(还在习惯它,发现它经常令人困惑且难以理解)。我没有正式的编程经验,因此大多数文档假定我不具备一定程度的知识。我对 virtualenv 与使用 conda 设置环境的不同之处感到困惑。在 conda 中,我将如何指定使用包的本地版本而不是已安装的包? 我也对许多答案感到沮丧,这些答案没有指定建议的命令应该从哪里 运行 - 在笔记本中?在蟒蛇提示?在 windows 命令提示符下?如果是这样,我需要在哪个目录中?

任何对现有内容进行扩展的答案都会受到初学者的欢迎!

经过大量的搜索和阅读,这是有效的方法:

How to import a module given the full path?

import sys
sys.path.append('path/to/local/package/folder')  #this folder needs to have a file in it called yourpackagename.py (and an _init_.py file?)
import yourpackagename as pk

我检查我是否拥有我想要的版本的方法是在我想要修改的版本中插入一个函数 yourpackagename.version(),这样当我调用该函数时,它会打印语句“是,您使用的是修改后的版本。"