2012-07-04 72 views
0

如何在我的setup.py腳本中傳遞hello.c文件的相對路徑? 使用'../code/Hello.c'時,下面的代碼不起作用。我得到錯誤 atal錯誤:錯誤寫入 - :損壞的管道 編譯終止。 bug是不可複製的,所以它可能是一個硬件或操作系統問題通過相對路徑將C文件傳遞給setup.py

例如:我在目錄script/和hello.c中運行此腳本出現在目錄code/

from distutils.core import setup, Extension 
module1 = Extension('Hello', sources = ['../code/Hello.c']) 

Setup (name = 'PackageName', 
    version = '1.0', 
    description = 'This is a demo package', 
    ext_modules = [module1]) 
+1

這不工作?你有什麼錯誤嗎?你能更具體地瞭解你面臨的問題嗎? – Froyo

回答

0

是的,您可以將相對路徑傳遞到Extension類中的源文件。但是,這不是一個真正推薦的方法。確保您在源目錄樹的根目錄下編寫setup.py,並且您的引用位於下面,這是一個好主意。在這種情況下,使用unix路徑分隔符指定的相對路徑仍然是平臺不可知的。

+0

我正在這樣做module1 = Extension('Hello',sources = ['../code/Hello.c'])。 – jaysh

+0

因爲我無法訪問Linux中的根目錄,所以從編寫hello.c代碼的其他目錄運行python setup.py命令。它在使用親屬路徑時給出錯誤。 – jaysh

+0

我希望你能夠訪問包含setup.py的文件夾,在這種情況下,只需創建'code/Hello.c',然後運行setup.py –