我在Ubuntu中安装了一些使用pip的软件包。但是,我想从这些软件包中更改已安装的代码的一部分。在Windows中很容易这样做,从Pycharm使用提供的链接。如何从包中找到源代码并进行更改?我的导入代码:在Ubuntu中找到pip安装软件包的源代码
from metric_learn import LSML_Supervised
我在Ubuntu中安装了一些使用pip的软件包。但是,我想从这些软件包中更改已安装的代码的一部分。在Windows中很容易这样做,从Pycharm使用提供的链接。如何从包中找到源代码并进行更改?我的导入代码:在Ubuntu中找到pip安装软件包的源代码
from metric_learn import LSML_Supervised
一般来说,模块和包有__file__
属性,你可以用它来找出他们在那里装:
>>> import jinja2
>>> jinja2.__file__
'/usr/local/anaconda3/envs/felix_backend/lib/python3.6/site-packages/jinja2/__init__.py'
我的代码是从metric_learn导入LSML_Supervised。当我试图打印LSML_Supervised时,我得到了
__file__属性不适用于我:AttributeError:类型对象'LSML_Supervised'没有属性'__file__' –
'metric_learn .__ file__' – phd
site-packages
是人工建造蟒蛇的目标目录包。从源代码构建和安装python包(使用distutils,可能通过执行python setup.py install),默认情况下,您会在site-pacakges中找到已安装的模块。
>>> import site; site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
如果你真的怀疑然后默认位置,
>>> import django
>>> print django.__path__
['/Library/Python/2.7/site-packages/django']
我的代码是从metric_learn导入LSML_Supervised中得到的。不知道我应该怎么做__path__ –
似乎python2.7中不存在__path__属性 –
您可以导入的包,然后运行'包.__ file__'得到的位置。 – slallum