如何导入python包的本地版本?

如何导入python包的本地版本?,python,matplotlib,anaconda,Python,Matplotlib,Anaconda,我想我在matplotlib中发现了一个bug。我使用anaconda作为包管理器,但必须从github下载matplotlib才能对其进行编辑 如何导入修改后的matplotlib版本以对其进行测试?我试着用 import /absolute/path/to/modified/matplotlib ,但那不起作用。理想情况下,我希望创建一个使用修改后的matplotlib而不是原始matplotlib的conda环境,以便可以轻松地在两者之间切换 如何测试和运行一个开源库的修改版本,而不破坏

我想我在matplotlib中发现了一个bug。我使用anaconda作为包管理器,但必须从github下载matplotlib才能对其进行编辑

如何导入修改后的matplotlib版本以对其进行测试?我试着用

import /absolute/path/to/modified/matplotlib
,但那不起作用。理想情况下,我希望创建一个使用修改后的matplotlib而不是原始matplotlib的conda环境,以便可以轻松地在两者之间切换


如何测试和运行一个开源库的修改版本,而不破坏包的原始版本?有没有从绝对路径导入库的方法?

试试这个

import sys

sys.path.append('/absolute/path/to/modified/matplotlib')

import matplotlib # modified

您可以通过告诉anaconda直接安装包的tar-ball来安装本地版本,即

conda install package-version-py27.tar.bz2
您还可以使用
--use local
参数


请参阅:,

另一个未提及的选项,如果您只是将matplotlib模块(复制或移动)放在项目的目录中,python将首先在那里进行检查,找到您放在那里的版本,不再进一步查看。这正是您不应该为文件命名的原因,例如,math.py。

啊,是的,这会暂时更改python路径,这对我需要的东西很有用(我不希望永久更改)。但是,因为库是附加的,所以原始库优先,这不起作用。不过,我只是将其编辑为以下内容:sys.path.insert(1,'/absolute/path/to/modified/matplotlib')如果有人也在conda(或VirtualEnvironment)环境中找到解决方案,我会让它再打开一段时间。我认为环境可以提供一个更优雅的解决方案,而且它对其他人也很有用。如果没有环境解决方案出现,我会让这成为公认的答案。非常感谢。虽然matplotlib导入显示了新版本,但我注意到“import matplotlib.pyplot as plt”会引发“ImportError:无法导入名称“\u path”。不确定这是否是matplotlib安装过程中出现的问题,或者这是否是由于matplotlib的导入方式造成的……如果将修改后的库包放入工作文件夹(或工作文件夹中的链接),则导入将优先于系统安装的库。您可以生成conda包()并将其安装到一个新的环境中,但您不会说您使用的是哪个操作系统,以了解这将有多困难。在Windows上,这将相当困难。在*尼克斯,有点容易,这只有在他们已经有了一个康达包裹的tarball时才会有帮助。相反,他们有源目录。。。