【问题标题】:Specific GIT app as PIP package install requirement特定 GIT 应用程序作为 PIP 包安装要求
【发布时间】:2012-08-21 22:16:34
【问题描述】:

我有这个应用程序https://github.com/staticdev/django-crud-utils 需要安装 django-sorting 才能工作。但不能是原来的django-sorting,而是我做的一个fork:https://github.com/staticdev/django-sorting

如何放入setup.py文件中进行打包?

Tks.

【问题讨论】:

    标签: django git packaging pip


    【解决方案1】:

    将其作为可编辑要求包含在内,并注意您必须明确提及鸡蛋名称:

    -e git+https://github.com/staticdev/django-sorting#egg=django-sorting
    

    更多选项见http://www.pip-installer.org/en/latest/requirements.html

    【讨论】:

    • 不是 virtualenv 的 requirements.txt 吗?我认为他是在询问可分发包中的 setup.py。
    【解决方案2】:
    -e git+https://github.com/staticdev/django-sorting.git#django-sorting
    

    【讨论】:

    • 该语法错误,您必须使用git+ 前缀或git:// 协议。
    • 现在你的答案是我的一模一样 ;)
    • 所以它仍然是:install_requires=[ 'Django>=1.3.1', 'django-pagination>=1.0.7', '-e git+https://github.com/staticdev/django-sorting#egg=django-sorting' ], 对吗?
    • 无效:pip install --upgrade -e git://github.com/staticdev/django-crud-utils.git#egg=django-crud-utils ... Running setup.py egg_info for package django-crud-utils error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers Complete output from command python setup.py egg_info: error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers
    • 我不确定这个错误是否是由于您按照我的建议添加的项目。可以肯定的是,请您从命令行运行 pip install -e git+... 并检查是否发生错误
    【解决方案3】:

    编辑您的setup.py 并向dependency_links 添加一个条目:

    dependency_links = [
        'https://github.com/staticdev/django-sorting/tarball/master#egg=django-sort',
    ],
    

    虽然你的 install_requires 有类似的东西:

    install_requires=[
        'Django>=1.3.1',
        'django-pagination>=1.0.7',
        'django-sort',
    ],
    

    如果你想使用需求文件,请关注Yuval Adam's advice

    【讨论】:

    • 我尝试了需求文件,当我在 requirements.txt 和 install_requires=read_file('requirements.txt') 中放入行:-e git+https://github.com/staticdev/django-sorting#egg=django-sorting 时,它给了我同样的错误:error in django-crud-utils setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers =(
    • 我也尝试了 dependency_links 解决方案。它是从 pypi 而不是我的 git fork 安装 django-sort。似乎忽略了dependency_links 的东西。 github.com/staticdev/django-crud-utils/blob/master/setup.py
    • install_requires 只接受“package>=version”、“package==version”、“packageinstall_requires 中使用-e例如。
    • 如果它正在查看 PyPI 而不是你的 fork,请尝试使用假版本,例如:install_requires=['django-sort==123dev'], dependency_links=['https://github.com/staticdev/django-sorting/tarball/master#egg=django-sort-123dev']
    • 试过了,得到:Source in /home/static/virtualenvs/prp2/build/django-sort has the version 0.1, which does not match the requirement django-sort==123dev (from django-crud-utils) Source in /home/static/virtualenvs/prp2/build/django-sort has version 0.1 that conflicts with django-sort==123dev (from django-crud-utils)github.com/staticdev/django-crud-utils/blob/master/setup.py
    猜你喜欢
    • 1970-01-01
    • 2012-11-21
    • 2012-08-18
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 2022-09-23
    相关资源
    最近更新 更多