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

时间:2017-04-26 06:53:54

标签: python github module

我想对GitHub上的公共项目进行更改(并且可能有所贡献)。我分叉并克隆了模块,但我不清楚如何让我的程序导入本地库而不是官方的#39;安装模块。

我尝试将其克隆到我的项目文件夹中但是当我导入它并尝试使用它时,事情变得奇怪calmap\calmap.plot()

我还尝试了sys.path.append和文件夹位置。但它似乎仍然导入官方的而不是分叉的。

我假设我可以把我的程序放在模块文件夹中,这样就可以先找到模块,但是我无法对这个模块进行图像校正'这样做的方法。

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

2 个答案:

答案 0 :(得分:3)

如果您已经在使用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 install(如果它们可用)或使用pip在您的环境中安装它们。现在,您已准备好开始使用要更新的库。假设包具有标准构建过程,python setup.py develop应该可用。在你运行之后,事情应该是好的。您可以进行更改,运行测试等。

答案 1 :(得分:0)

如果您使用sys.path.append()新的"路径"如果以前没有包含您要导入的模块,将使用。如果你想要"添加路径"优先于所有旧的,你必须使用

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

通过这种方式,如果您打印sys.path,您将看到添加的路径位于列表的开头,并且您导入的模块将从您指定的路径加载。