2016-09-06 71 views
0

我正在使用Python3.4。我使用pip從GitHub安裝了一個「itunespy」庫,以使用iTunes API。
https://github.com/spaceisstrange/itunespy需要更改已安裝庫的源代碼

我現在可以從控制檯通過

import itunespy 

訪問圖書館除外只通過iTunes搜索阿比美店,而我需要訪問英國的商店。我查看了代碼,發現我只需要更改兩行來解決我的問題。

請你告訴我如何訪問和更改已安裝庫的源代碼。

謝謝。

+0

'itunespy .__ file__'會顯示導入模塊/包的路徑。 –

+0

非常感謝你 –

回答

1
  • 叉庫
  • 克隆分叉庫
  • 進行更改,然後推到遠程(原產地,通常情況下)
  • 您可能點子從你的叉子安裝
+1

我會添加一些關於提交拉取請求的信息,建議軟件包作者合併你的修改,因爲聽起來這個修改通常是有用的。否則,分叉就沒什麼意義了 - 你也可以將它克隆並在本地進行編輯。 –

+0

您可能會對PR進行更改以使其可配置。 @David通過克隆和編輯的問題是,您需要提交和版本控制外部模塊。否則,將來的安裝會導致更改丟失。 – Jaipradeesh

+0

分叉的一個缺點是,您可能需要使用上游(通常)遠程更新叉子。否則,對原始模塊的更改不會反映在您的分支中。 – Jaipradeesh

0

你真的想改變源代碼? 如何改變你的實現?從類

  • 覆蓋

    • 繼承/重載其方法與自己的
    • 的工作與你的繼承類和它們的方法

    親:如果在原有的庫變化當你更新(安全補丁等)時,你會帶着它們一起使用,但是你的覆蓋/重載方法仍然是你使用的方法。

    否則,如果你真的想喜歡通過dolftax提到

  • 0

    我看了看source code,並更改源代碼,從GitHub採取了分公司,並更改源代碼,你需要它:

    a)您可能會明顯改變你的源代碼在本地複製文件

    b)您可以在補丁運行時這些常量,比如增加這種類型的代碼到你的主:

    import itunespy 
    itunespy.base_search_url = "NEW_VALUE" 
    itunespy.base_lookup_url = "NEW_VALUE" 
    

    c)庫API似乎提供國家關鍵字參數,所以你不必做任何上述的這些黑客攻擊。簡單地做:

    itunespy.search_track('something', country='UK') 
    

    包含此關鍵字的參數,如預期沒有源代碼的任何修改搜索應該工作。