2017-06-14 104 views
3

標記爲重複之前,我已經嘗試了一堆方案 包括一個here 但沒有運氣自定義安裝後腳本不能與PIP運行

我創建了一個簡單的工具做一些任務,並能夠成功打包。

當試圖安裝它時,我使用python setup.py install但是pip install package_name只是安裝軟件包,但沒有安裝後腳本,我獲得了期望的效果。

這是我的代碼的一部分;

setup.py

from distutils import setup 
from app.scripts import * 

setup(

     #Application name 
     name = "my-app-name", 

     version = "my-app-version", 
     author = "my-name", 
     author_email = "my-email", 
     packages = ['app'], 
     include_package_data = True, 
     license = 'MIT', 
     url = "https://my-url", 
     description = "description", 
     install_requires = ["flake8"], 
     cmdclass = { 
      "install":Post_install 
     } 
    ) 

scripts.py

from distutils.command.install import install 
import os 

class Post_install(install): 

    @staticmethod 
    def func():  
     return True 

    def run(self): 
     install.run(self) 
     #Pre install actions 
     if Post_install.func(): 
      print("Bingo") 
     else: 
      print("Failed") 

謝謝:)

PS我上傳包後運行pip install

+0

是否有可能安裝早期版本的庫? pip服務器需要更新一段時間嗎? – SwiftsNamesake

+0

由於您已經剝離了某些細節的代碼,因此很難說。 – SwiftsNamesake

+0

@SwiftsNamesake我已經驗證了我正在安裝的圖書館的版本,這是正確的,我敢肯定 –

回答

2

直接從您的GitHub庫安裝軟件包:

pip install -vvv git+url/for/github/[email protected] 

你的,你想這個包添加到您的requirements.txt文件chat提及。詳情請參見this question

-e git://github.com/path/to/project 

前答案(由OP拒絕):

我設法重新您所遇到的問題。這似乎是沉默或重定向輸出的問題(如this question的答案所示)。

解決方案是在pip install之後添加選項-vvv。我猜v代表詳細

+0

感謝您的回答,我也嘗試了所有建議的選項,它似乎不適用於pip「,但可以正常使用'python setup.py install'工作正常[ –

+0

]要清楚,你是說''pip install -vvv [package of name]'不起作用?如果是這樣,那真是奇怪,因爲我複製了你的文件,並嘗試使用本地虛擬軟件包('pip install -vvv .')。 – SwiftsNamesake

+0

它安裝軟件包,但後安裝腳本仍然沒有運行 –