Hello. I'm experiencing a problem where the end symptom is setuptools complaining setuptools-scm was unable to detect version for...
. Ultimately this is during a conda environment create, via pip as an intermediary. I can reproduce it with pip
directly just attempting to install one package. The package in question is being installed from a github repo via SSH. It is not in the root of the repo. The setup.py looks like this:
import os
from setuptools import setup
setup(
name = 'c12e_data',
packages = ['c12e.data'],
use_scm_version = {
'root' : '..',
'relative_to': os.path.dirname(__file__)
},
install_requires = [
'typing_extensions'
],
tests_require = [
'hypothesis',
'pytest >= 3.8.1, < 4.0',
'c12e_testing'
],
extras_require = {
's3': ['boto3 >= 1.0.0, < 2.0.0']
},
setup_requires = [
'setuptools_scm',
'pytest-runner'
]
)
This is in the c12e_data
directory within the git repo root. The conda environment.yml
pins the versions of pip
and setuptools
according to:
channels:
- conda-forge
- pytorch
- defaults
dependencies:
- pip=19.0.1
- python=3.6.8
- setuptools=40.7.3
- toolz=0.9.0
- scikit-learn
- pip:
- git+ssh://git@github.com/CognitiveScale/c12e-python.git@v1.0.4#subdirectory=c12e_data
The really odd thing is that this exact install was working fine a few weeks ago, and so far as I can tell nothing has changed (the git tag specified is old and unchanged, the versions of pip and setuptools are pinned and unchanged). All I can think of is that some unpinned transitive dependency (of setuptools or something) must have changed.
pip
and setuptools
but not gotten anywhere. Has anyone seen anything similar recently?
setup.py
file that follows: # -*- coding: utf-8 -*-
from setuptools import setup, find_packages
setup(
name='int-airflow',
version='1.0.270',
license='MIT',
packages=find_packages(exclude=('tests', 'tests.*', 'hql')),
install_requires=[
'apache-airflow>=1.7.0,<1.11.0'
],
classifiers=[
'Programming Language :: Python :: 2.7'
]
)
python setup.py build
which fails fast and gives no errors
Using /Users/colinwilliams/code/int-airflow/.eggs/pytzdata-2019.1-py2.7.egg
Traceback (most recent call last):
File "setup.py", line 18, in <module>
'Programming Language :: Python :: 2.7'
File "/Users/colinwilliams/code/int-airflow/env/lib/python2.7/site-packages/setuptools/__init__.py", line 145, in setup
return distutils.core.setup(**attrs)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/local/Cellar/python@2/2.7.16/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/Users/colinwilliams/code/int-airflow/env/lib/python2.7/site-packages/setuptools/command/test.py", line 217, in run
installed_dists = self.install_dists(self.distribution)
File "/Users/colinwilliams/code/int-airflow/env/lib/python2.7/site-packages/setuptools/command/test.py", line 208, in install_dists
ir_d = dist.fetch_build_eggs(dist.install_requires)
File "/Users/colinwilliams/code/int-airflow/env/lib/python2.7/site-packages/setuptools/dist.py", line 717, in fetch_build_eggs
replace_conflicting=True,
File "/Users/colinwilliams/code/int-airflow/env/lib/python2.7/site-packages/pkg_resources/__init__.py", line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (tzlocal 2.0.0b2 (/Users/colinwilliams/code/int-airflow/.eggs/tzlocal-2.0.0b2-py2.7.egg), Requirement.parse('tzlocal<2.0.0.0,>=1.5.0.0'), set(['pendulum']))
python setup.py build
doesn't install the deps , since I only get the install, etc with python setup.py test
pip
will install transitive dependencies automatically.
@ionox0 or channel I'm trying to use airflow[qds] from an inherited setup.py project but not sure how to specify. You mention something similar above. My setup.py setup()
has
install_requires=[
'apache-airflow>=1.7.0,<1.11.0',
'jinja2>=2.10.0',
'werkzeug>=0.15.0'
],
but I don't know how to add the qds module. Can anybody help? I've tried to search this out but am just getting more confused.
pip install -e .
but then when I bring up airflow I getline 32, in <module>
from qds_sdk.qubole import Qubole
ImportError: No module named qds_sdk.qubole
Done.
qds
module.
python setup.py install
but to use pip install
instead.
qds-sdk
also in install_requires?
install_requrires
pip show qds-sdk
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Name: qds-sdk
Version: 1.12.0
Summary: Python SDK for coding to the Qubole Data Service API
Home-page: https://github.com/qubole/qds-sdk-py
Author: Qubole
Author-email: dev@qubole.com
License: Apache License 2.0
Location: /private/tmp/id-core-test/id-correlation-offline/env/lib/python2.7/site-packages
Requires: requests, boto, inflection, six, urllib3
Required-by: idc-offline