我正在爲現有可安裝pip的項目添加功能,項目所有者認爲我在setup.py安裝要求中添加pandas
「太重」了,因爲項目應該保持苗條。我添加的功能不需要pandas
(因爲功能是在pandas.DataFrame
對象之上的操作),但是我爲它編寫的單元測試需要調用pandas
至setUp
測試DataFrame以進行變異。包裝只能用於測試,不能用於安裝?
是否有某種方法只需要pandas
用於單元測試?或者我只是沒有把它添加到需求中,並提出一個錯誤,以便在單元測試運行時手動安裝pandas
?
我認爲'tests_require'是更好的方法,因爲這會創建一個永遠不會在生產中可用的可選功能。 – languitar
我以前使用'tests_require',但是離開它,因爲我不喜歡安裝依賴關係的方式,所以在CI中控制的很少。不是每個人都想使用'python setup.py test'作爲執行測試套件的方式。 – wim
此方法仍然需要有關如何使用可選功能的知識,並在安裝軟件包時進行宣傳。這可能有很好的理由,但通常我會傾向於在採用這種「黑客」之前使用預期的機制。另外,也許'tests_require'可能會在未來得到修復。 – languitar