自定义安装后脚本未与 pip 一起运行

Col*_*iza 5 python distutils setuptools python-3.x python-packaging

在标记为重复之前,我尝试了一系列解决方案,包括此处的一个 ,但没有运气

我创建了一个简单的工具来完成一些任务,并且能够成功地将其打包。

当尝试安装它时,我在使用时获得了所需的效果python setup.py install,但pip install package_name只安装了软件包,但没有安装后脚本。

这是我的代码的一部分;

安装程序.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
        }
    )
Run Code Online (Sandbox Code Playgroud)

脚本.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")
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

PSpip install我上传包后运行。

Swi*_*ake 1

直接从 GitHub 存储库安装包:

pip install -vvv git+url/for/github/repo@my-branch
Run Code Online (Sandbox Code Playgroud)

您在聊天中提到您想将此包添加到您的requirements.txt文件中。详情请参阅此问题:

-e git://github.com/path/to/project
Run Code Online (Sandbox Code Playgroud)

以前的答案(被OP拒绝):

我设法重现了您遇到的问题。这似乎是一个沉默或重定向输出的问题(如该问题pip install的答案所示)。

-vvv解决办法是在 后面添加选项pip install。我猜v代表verbose