2012-10-02 79 views
2

舊的youtube-dl只能用於一個文件,因此我很容易編輯。新版本里面有多個文件。爲了讓它在我的服務器上工作,我需要提取文件並更改python路徑。現在我怎麼把它放回去呢? youtube-dl網站表示編譯。Python youtube-dl重新編譯

的YouTube-DL包含主要的.py,初始化的.py,FileDownloader.py,InfoExtractors.py,PostProcessor.py,utils.py

我需要把這些腳本回一個YouTube -dl文件。我正在運行CentOS。

感謝您的幫助!

+0

爲什麼你需要一個單獨的文件?你不能使用包嗎? – nneonneo

+0

所以我可以將單個文件移動到/ usr/bin並通過youtube-dl命令運行腳本。 – MM8500

+0

實際上,如果你所需要的只是改變Python路徑,那麼你可以在不提取所有東西的情況下編輯hashbang行。 – nneonneo

回答

3

如果你只想改變解釋器行(hashbang),你應該編輯文件。

由於它是一個二進制文件,因此不能使用普通的文本編輯器。我建議只是一個Python腳本編輯它:

with open('youtube-dl', 'rb') as f: 
    header = f.readline() 
    zipfile = f.read() 

with open('youtube-dl-new', 'wb') as f: 
    print >> f, '#!/your/new/hashbang/line' 
    f.write(zipfile) 

在Python 3:

with open('youtube-dl', 'rb') as f: 
    header = f.readline() 
    zipfile = f.read() 

with open('youtube-dl-new', 'wb') as f: 
    print('#!/your/new/hashbang/line', file=f) 
    f.write(zipfile) 
+0

我猜他在找什麼,是在系統路徑上有youtube-dl。 – Michael

+0

顯然問題是他的解釋器路徑是不同的...... – nneonneo

+0

也許這兩個,但他特別提到,他想把所有東西都放回到/ usr/bin。所以我想,這就是他之前的跑步方式,以及他想要做的事情。 – Michael