2017-07-24 137 views
1

我在Ubuntu中安裝了一些使用pip的軟件包。但是,我想從這些軟件包中更改已安裝的代碼的一部分。在Windows中很容易這樣做,從Pycharm使用提供的鏈接。如何從包中找到源代碼並進行更改?我的導入代碼:在Ubuntu中找到pip安裝軟件包的源代碼

from metric_learn import LSML_Supervised 
+0

您可以導入的包,然後運行'包.__ file__'得到的位置。 – slallum

回答

2

一般來說,模塊和包有__file__屬性,你可以用它來找出他們在那裏裝:

>>> import jinja2 
>>> jinja2.__file__ 
'/usr/local/anaconda3/envs/felix_backend/lib/python3.6/site-packages/jinja2/__init__.py' 
+0

我的代碼是從metric_learn導入LSML_Supervised。當我試圖打印LSML_Supervised時,我得到了

+0

__file__屬性不適用於我:AttributeError:類型對象'LSML_Supervised'沒有屬性'__file__' –

+1

'metric_learn .__ file__' – phd

2

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'] 
+0

我的代碼是從metric_learn導入LSML_Supervised中得到的。不知道我應該怎麼做__path__ –

+0

似乎python2.7中不存在__path__屬性 –