当前位置: 首页 > 知识库问答 >
问题:

在Python中导入分叉模块而不是安装模块

姬经义
2023-03-14

我想对GitHub上的一个公共项目做些改变(如果有好处的话,可能会有所贡献)。我已经分支并克隆了模块,但我不清楚如何让我的程序导入本地库,而不是“官方”安装的模块。

我尝试将它克隆到我的项目文件夹中,但是当我导入它并尝试使用它时,事情变得很奇怪

我还尝试了做<code>sys.path。附加和文件夹位置。但它似乎仍然进口官方的,而不是分叉的。

我假设我可以把我的程序放在模块文件夹中,这样模块会先被找到,但是我不能想象那是正确的方法。

|
|-->My_Project_Folder/
|
|-->Forked_Module/
     |-->docs/
     |-->Forked_Module/
          |-->__init__.py

共有3个答案

裴理
2023-03-14

要从分叉存储库而不是 Python 包导入,您应该为克隆的项目创建一个虚拟环境,然后激活它,这样环境就会与全局安装的包隔离。

1-您需要分叉您的回购;

2-创建一个虚拟环境并激活它;

3-克隆您的回购。

现在,如果您打印导入,您将看到分叉存储库的路径。

import any_module
print(any_module)
年健
2023-03-14

如果您使用 sys.path.append(),则如果以前的“路径”不包含您要导入的模块,则将使用新的“路径”。如果您希望“添加的路径”优先于所有旧路径,则必须使用

sys.path.insert(0, "path")

这样,如果您打印<code>sys。path您将看到添加的路径位于列表的开头,您要导入的模块将从指定的路径加载。

魏元白
2023-03-14

如果您已经在使用 anaconda,那么您可以创建一个新环境来开发此功能。

首先,创造一个新的环境:

# develop_lib is the name of the environment.
# You can pick anything that is memorable instead.
# You can also use whatever python version you require ...
conda create -n develop_lib python3.5

拥有环境后,您可能希望在当前会话中输入该环境:

source activate develop_lib

好的,现在您已经设置了环境,您可能需要为正在开发的任何第三方库安装一些要求。我不知道这些依赖项是什么,但是您可以使用conda安装(如果它们可用)或使用pip在您的环境中安装它们。现在,您已准备好开始使用要更新的库。Python setup.py 开发应该可用,假设包具有标准的构建过程。运行完之后,事情应该会很好。您可以进行更改、运行测试等。

 类似资料:
  • 我在Ubuntu 14.04机器上安装了Python 2.7和3.4。我想安装请求模块,以便从Py3.4访问它。 当我在终端命令行发出

  • 我需要在Python中导入一个名为array_queue的模块。我检查了一下,如果我不使用它,就会出现一个提示:“array_queue imported but unused”。但是,如果我使用它并运行该程序,则会出现以下情况: ModuleNotFounderRror:没有名为“array_queue”的模块

  • 问题内容: 我已尝试找到有关最佳使用还是全面的指南。我刚开始使用Python,并且正在尝试着眼于最佳实践。 基本上,我希望有人能分享他们的经验,其他开发人员有什么喜好,以及避免遇到麻烦的最佳方法是什么? 问题答案: 和之间的区别主要是主观的。选择最喜欢的一个,并在使用中保持一致。这里有一些要点可以帮助你做出决定。 优点: - 减少维护你的import报表。无需添加任何其他导入即可开始使用模块中的另

  • 问题内容: 在复杂的应用程序中,我需要导入用户提供的“脚本”。理想情况下,脚本应具有 所以我只是 然而,大家都知道,用户的脚本 执行 尽快运行。这意味着脚本可以是这样的: 脚本一经产生就被调用。 我需要的是一种方法: 首先检查它是否具有init(),execute()和cleanup() 如果它们存在,一切都会很好 如果不存在,抱怨 不要运行任何其他代码,或者至少不要运行,直到我知道没有init(

  • 我正在用Python开发一个包。我使用虚拟环境。我在我的虚拟环境中的. pth路径中设置了模块的根路径,这样我就可以在开发代码和进行测试的同时导入包的模块(问题1:这是一个好方法吗?)。这工作正常(这里有一个例子,这是我想要的行为): 但是,如果我尝试使用PyTest,则会收到一些导入错误消息: 我有点困惑,看起来这表明了一个导入错误,但是Python做得很好,那么为什么PyTest会有问题呢?对

  • 问题内容: 我正在尝试使用该软件包在R中导入python模块。该模块可以在这里找到。我克隆了存储库并运行成功。如果打开python shell,则可以导入。但是,当我尝试将其导入RStudio时,出现以下错误: 我在macOS Sierra版本10.12.6上并通过Anaconda安装了python 3.6。我也尝试过给出python的路径为: 当我从终端运行python时,我得到: 不确定pyt