Skip to content

Commit 00f3fbe

Browse files
Merge pull request #166 from RonnyPfannschmidt/enhanced-self-use
allow unprepared self-use
2 parents 34125b8 + f46e7d7 commit 00f3fbe

File tree

2 files changed

+23
-25
lines changed

2 files changed

+23
-25
lines changed

CHANGELOG.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ v1.15.4
22
=======
33

44
* fix issue #164: iterate all found entry points to avoid erros when pip remakes egg-info
5+
* enhance self-use to enable pip install from github again
56

67
v1.15.3
78
=======

setup.py

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,51 +15,47 @@
1515
import setuptools
1616

1717

18-
PROBLEMATIC_COMMANDS = 'install', 'develop', 'easy_install', 'bdist_egg'
19-
20-
if not os.path.isdir('setuptools_scm.egg-info'):
21-
print(__doc__)
22-
23-
if any(c in sys.argv for c in PROBLEMATIC_COMMANDS):
24-
sys.exit('please run `python setup.py egg_info` first')
25-
26-
27-
def _find_hackish_version():
18+
def scm_config():
2819
here = os.path.dirname(os.path.abspath(__file__))
20+
egg_info = os.path.join(here, 'setuptools_scm.egg-info')
21+
has_entrypoints = os.path.isdir(egg_info)
22+
2923
sys.path.insert(0, here)
3024
from setuptools_scm.hacks import parse_pkginfo
31-
from setuptools_scm import get_version
32-
try:
33-
return get_version(
34-
root=here, parse=parse_pkginfo,
35-
**scm_config())
36-
except IOError:
37-
pass
38-
39-
40-
def scm_config():
25+
from setuptools_scm.git import parse as parse_git
4126
from setuptools_scm.version import (
27+
4228
guess_next_dev_version,
4329
get_local_node_and_date,
4430
)
45-
return dict(
31+
32+
def parse(root):
33+
try:
34+
return parse_pkginfo(root)
35+
except IOError:
36+
return parse_git(root)
37+
38+
config = dict(
4639
version_scheme=guess_next_dev_version,
4740
local_scheme=get_local_node_and_date,
4841
)
4942

43+
if has_entrypoints:
44+
return dict(use_scm_version=config)
45+
else:
46+
from setuptools_scm import get_version
47+
return dict(version=get_version(
48+
root=here, parse=parse, **config))
49+
5050

5151
with open('README.rst') as fp:
5252
long_description = fp.read()
5353

54-
found_version = _find_hackish_version()
5554

5655
arguments = dict(
5756
name='setuptools_scm',
5857
url='https://github.com/pypa/setuptools_scm/',
5958
zip_safe=True,
60-
version=found_version,
61-
# pass here since entrypints are not yet registred
62-
use_scm_version=found_version is None and scm_config,
6359
author='Ronny Pfannschmidt',
6460
author_email='[email protected]',
6561
description=('the blessed package to manage your versions by scm tags'),
@@ -116,4 +112,5 @@ def scm_config():
116112
)
117113

118114
if __name__ == '__main__':
115+
arguments.update(scm_config())
119116
setuptools.setup(**arguments)

0 commit comments

Comments
 (0)