我在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