2015-05-18 127 views
6

我有一個Python包,包括bin_win32bin_win64bin_osxbin_lnx32bin_lnx64子目錄與二進制文件相應的平臺,這是我通過Python文件steamcloud.py調用二進制文件。當我運行python setup.py bdist_wheel --universal時,生成的輪子不包括這些子目錄中的文件,只包含Python文件。我怎樣才能將這些包含在車輪中?力Python包setup.py bdist_wheel包括子目錄

注意:我知道1)--universal標誌僅用於Python包,2)我應該爲每個平臺創建單獨的輪子。但是,我無法訪問Windows或Linux計算機進行開發,並且沒有針對Linux特定輪子的命名約定。

setup.py的內容可以找到here

回答

0

好,第一個問題是,你的項目沒有按照預計的佈局,所以你需要調用setup()與除packagespackage_data參數的package_dir參數(見installing package data)。

package_dir={'airship': '<path_to_package>/airship'} 

但是,你要包括是不是真的打包數據,所以你可能不希望將其添加到package_data像您當前所在的文件。 package_data解釋相對於您的包的路徑,而不是相對於項目根目錄。相反,使用data_files,以便您可以提供相對於您的setup.py文件的路徑。