首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setuptools_scm不使用‘`pip安装.`在父文件夹中.git的情况

setuptools_scm不使用‘`pip安装.`在父文件夹中.git的情况
EN

Stack Overflow用户
提问于 2021-02-11 22:25:03
回答 1查看 2.7K关注 0票数 3

我在一个版本化的文件夹中有两个或多个Python包:

代码语言:javascript
复制
.
├── .git
├── api
│   ├── mf_hub_api
│   │   └── __init__.py
│   └── setup.py
├── pkg
│   ├── mf_hub
│   │   └── __init__.py
│   └── setup.py
└── README.rst

在./api和pkg python包中,pip install -e .工作得很好,但是pip install .给出了跟踪:

代码语言:javascript
复制
mf_hub/pkg$ pip install .
Processing .../mf_hub/pkg
...
LookupError: setuptools-scm was unable to detect version for '/tmp'.
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

我的config.py::

代码语言:javascript
复制
mf_hub$ cat pkg/setup.py
from setuptools import find_packages
from setuptools import setup

requirements = """
pip
setuptools
wheel
setuptools_scm
"""

setup(
    name="mf_hub",
    setup_requires=["setuptools_scm"],
    use_scm_version={
        "write_to": "../version.txt",
        "root": "..",
        "relative_to": __file__,
    },
    packages=find_packages(),
    test_suite="tests",
    install_requires=requirements,
    include_package_data=True,
    zip_safe=False,
)
mf_hub$

什么是暂时的解决办法?

我看到了一个与此相关的未决问题:https://github.com/pypa/setuptools_scm/issues/357

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-17 10:28:00

您必须使用in-tree-build特性。默认情况下,在较新的pip版本中启用它。有两种解决办法:

  1. 更新pip:

代码语言:javascript
复制
pip install -U pip
pip install .

  1. 或直接使用该特性:

代码语言:javascript
复制
pip install --use-feature=in-tree-build .
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66163862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档