[問題] 打包以後的測試與多版本執行問題

看板Python作者 (ㄅㄆㄇㄈ)時間12年前 (2012/03/10 01:47), 編輯推噓3(302)
留言5則, 3人參與, 最新討論串1/1
我的 linux 系統有安裝兩個版本的 python 分別為 /usr/bin/python2.4 和 /usr/bin/python2.6 我寫的軟體裡面有 console script,類似這樣 setup( name = "hello", version = "0.1", py_modules = ['hello'], entry_points = { 'console_scripts': [ 'hello=hello:main' ] } ) 軟體開發好後,要把所有測試執行一遍我就用以下指令 python setup.py test 安裝的話,若用以下指令 python2.4 setup.py install 會發現安裝後 hello 那支 console script 的 shebang 很聰明地變成 #!/usr/bin/python2.4 而若用以下指令 python2.6 setup.py install 則安裝後 hello 那支 console script 的 shebang 也很聰明地變成 #!/usr/bin/python2.6 因此我可以在安裝時決定這 console script 是用哪一個版本的 python 現在問題來了,為方便傳遞給使用者,我把開發好的軟體打包 python2.4 setup.py bdist_egg 產生了一個 hello-0.1-py2.4.egg Q1: 要如何讓一個封包檔的所有測試執行過一遍呢 類似 python setup.py test 的效果 此外是安裝問題,我用以下指令 easy_install hello-0.1-py2.4.egg 安裝好以後,那支 console script 的 shebang 是 #!/usr/bin/python 這個 /usr/bin/python 是連結到 python2.6 的 現在問題的前提是無法改變 /usr/bin/python 連結到哪個版本 我希望安裝時能指定此 console script 用哪個版本來執行 例如我希望它的 shebang 是 #!/usr/bin/python2.4 Q2: 要如何在安裝封包檔時指定 console script 用哪一版本的 python 呢 類似 python2.4 setup.py install 和 python2.6 setup.py install 之差別 以上兩個問題 Q1, Q2 請教,謝謝囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.109.72

03/11 17:39, , 1F
多版本問題可考慮 virtualenv
03/11 17:39, 1F

03/11 17:40, , 2F
此外可用 easy_install-2.4 和 easy_install-2.6 解決
03/11 17:40, 2F

03/11 17:52, , 3F
要測試是否 sdist 較佳?bdist 是用來安裝測試過的軟體
03/11 17:52, 3F

03/12 18:23, , 4F
推virtualenv,好用!
03/12 18:23, 4F

03/12 23:40, , 5F
謝謝,真的可以
03/12 23:40, 5F
文章代碼(AID): #1FMa8rDO (Python)