setuptools_scm 父文件夹中的 .git 无法使用 `pip install .`
setuptools_scm not working with `pip install .` in case of .git in parent folder
我在一个版本化文件夹中有两个或更多 Python 个包:
.
├── .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 .
给我回溯:
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
::
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
您必须使用 in-tree-build
功能。它在较新的 pip 版本中默认启用。有两种解决方案:
- 更新点数:
pip install -U pip
pip install .
- 或直接使用该功能:
pip install --use-feature=in-tree-build .
我在一个版本化文件夹中有两个或更多 Python 个包:
.
├── .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 .
给我回溯:
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
::
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
您必须使用 in-tree-build
功能。它在较新的 pip 版本中默认启用。有两种解决方案:
- 更新点数:
pip install -U pip
pip install .
- 或直接使用该功能:
pip install --use-feature=in-tree-build .