【问题标题】:heroku/python buildpack for node.js app get rejected用于 node.js 应用程序的 heroku/python buildpack 被拒绝
【发布时间】:2019-12-13 03:07:16
【问题描述】:

我有一个带有 Python 脚本的 Node.js 应用程序,我正在尝试将其部署到 Heroku。

每次我尝试添加 heroku/python buildpack 时,git push 都会被拒绝。

remote:找不到满足 pywin32==224 要求的版本(来自 -r /tmp/build_ebad00f3b8d3c9b4b03965f0d0924e7a/requirements.txt(第 57 行))(来自版本:) 远程:找不到 pywin32==224 的匹配分布(来自 -r /tmp/build_ebad00f3b8d3c9b4b03965f0d0924e7a/requirements.txt(第 57 行))

远程:!推送被拒绝,无法编译 Python 应用。

远程:

远程:!推送失败

远程:!推送失败

远程:验证部署...

远程: 偏僻的: !推送拒绝到XXXXXX

远程:

https://git.heroku.com/xxxxxx.git

! [remote denied] master -> master (pre-receive hook denied)

错误:未能将一些引用推送到“https://git.heroku.com/xxxxx.git

如果没有heroku/python buildpack,推送可以正常工作。我认为我的 Python 脚本需要在 web 上工作的构建。

我的应用程序在本地运行良好,但与 Python 相关的所有内容在部署时都无法正常工作。我使用 Python 3.7.3 64 位版本。 我的应用根目录中有 runtime.txt 和 requirements.txt。

我的runtime.txt 文件:

python-3.7.3

requirements.txt:

        altgraph==0.16.1
        asn1crypto==0.24.0
        astroid==2.1.0
        awscli==1.16.209
        beautifulsoup4==4.6.3
        botocore==1.12.199
        bs4==0.0.1
        cached-property==1.5.1
        cachetools==3.1.1
        certifi==2019.6.16
        cffi==1.12.2
        chardet==3.0.4
        colorama==0.3.9
        cryptography==2.6.1
        defusedxml==0.5.0
        dnspython==1.16.0
        docutils==0.14
        et-xmlfile==1.0.1
        exchangelib==1.12.2
        future==0.17.1
        google-api-python-client==1.7.9
        google-auth==1.6.3
        google-auth-httplib2==0.0.3
        google-auth-oauthlib==0.4.0
        googletrans==2.4.0
        gspread==3.1.0
        httplib2==0.13.0
        idna==2.8
        isodate==0.6.0
        isort==4.3.4
        jdcal==1.4
        jmespath==0.9.4
        lazy-object-proxy==1.3.1
        lxml==4.3.2
        macholib==1.11
        mccabe==0.6.1
        ntlm-auth==1.2.0
        numpy==1.15.4
        oauth2client==4.1.3
        oauthlib==3.0.1
        openpyxl==2.6.0
        pandas==0.23.4
        pefile==2018.8.8
        py2exe==0.9.2.2
        pyasn1==0.4.5
        pyasn1-modules==0.2.5
        pycparser==2.19
        Pygments==2.3.1
        pygsheets==2.0.1
        PyInstaller==3.4
        pylint==2.2.2
        PyMySQL==0.9.3
        pyodbc==4.0.26
        PySocks==1.6.8
        python-dateutil==2.7.5
        pytz==2019.1
        pywin32==224
        pywin32-ctypes==0.2.0
        pywinrm==0.3.0
        PyYAML==5.1
        requests==2.22.0
        requests-kerberos==0.12.0
        requests-ntlm==1.1.0
        requests-oauthlib==1.2.0
        rsa==3.4.2
        s3transfer==0.2.1
        selenium==3.141.0
        six==1.11.0
        soupsieve==1.8
        stem==1.7.0
        torrequest==0.1.0
        tzlocal==1.5.1
        uritemplate==3.0.0
        urllib3==1.25.3
        uuid==1.30
        virtualenv==16.7.2
        winkerberos==0.7.0
        wrapt==1.10.11
        xlrd==1.1.0
        XlsxWriter==1.1.2
        xmltodict==0.12.0

感谢任何指导。

【问题讨论】:

    标签: node.js python-3.x heroku git-push buildpack


    【解决方案1】:

    问题来了:

    找不到满足pywin32==224要求的版本

    Heroku 不运行 Windows,因此 pywin32 不可用。我不确定你用它做什么。如果您不需要它,请将其删除(连同pywin32-ctypespywinrm 以及其他任何依赖于 Windows 的内容)然后重新部署。如果您使用这些库,则需要重写代码的那部分。

    一般来说,您的requirements.txt 应该只包含您的应用程序实际需要的东西。我怀疑你里面有很多你没有使用的东西。也许您没有使用虚拟环境?

    【讨论】:

    • 我的根目录中有requirments.txt 文件。
    • 然后编辑您的问题并向我们展示错误消息的更多上下文。 “预接收挂钩被拒绝”部分基本上没有告诉我们任何信息。有用的部分应该在那之前。
    • 另外,你有没有像评论中那样拼写requirments.txt?缺少e:应该是requirements.txt
    • 我根据你的 cmets 更新了 OP。谢谢。应用程序中的拼写正确。
    • 感谢您的帮助。它现在正在部署。是否有一种非手动方式来填充 requirements.txt。 pip freeze 添加很多我不需要的员工.. 再次感谢
    猜你喜欢
    • 2014-01-27
    • 2019-10-25
    • 2013-05-01
    • 2020-09-24
    • 2016-08-14
    • 2014-08-19
    • 2018-01-22
    • 2016-01-10
    • 2016-02-25
    相关资源
    最近更新 更多