3
votes

I'm trying to build a Python conda package that depends on a pip library (distributed) which depends on msgpack. I keep getting the error that downloading in setuptools is disabled, but I have msgpack (or msgpack-python, i've tried both) listed in my dependencies. I believe this is due to a name change on pip.

old name was msgpack-python, new one is msgpack.

distributed lists msgpack as a dependency, but it looks like conda installs msgpack-python as a conda package (https://anaconda.org/anaconda/msgpack-python). And then it complains that setuptools is requiring msgpack and it can't download.

Could it be that the name needs to be changed on Anaconda to msgpack?

This is the error I'm getting:

Searching for msgpack
Traceback (most recent call last):
  File "setup.py", line 41, in <module>
    include_package_data=True
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/__init__.py", line 129, in setup
    return distutils.core.setup(**attrs)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/distutils/core.py", line 148, in setup
    dist.run_commands()
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/distutils/dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/distutils/dist.py", line 974, in run_command
    cmd_obj.run()
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/install.py", line 67, in run
    self.do_egg_install()
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/install.py", line 117, in do_egg_install
    cmd.run()
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 412, in run
    self.easy_install(spec, not self.no_deps)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 654, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 701, in install_item
    self.process_distribution(spec, dist, deps)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 746, in process_distribution
    [requirement], self.local_index, self.easy_install
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/pkg_resources/__init__.py", line 770, in resolve
    replace_conflicting=replace_conflicting
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1053, in best_match
    return self.obtain(req, installer)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/pkg_resources/__init__.py", line 1065, in obtain
    return installer(requirement)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/command/easy_install.py", line 661, in easy_install
    not self.always_copy, self.local_index
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/package_index.py", line 656, in fetch_distribution
    self.find_packages(requirement)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/package_index.py", line 489, in find_packages
    self.scan_url(self.index_url + requirement.unsafe_name + '/')
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/package_index.py", line 829, in scan_url
    self.process_url(url, True)
  File "/Users/bschreck/miniconda3/envs/py3default/conda-bld/featuretools_1530818194289/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/python3.5/site-packages/setuptools/package_index.py", line 324, in process_url
    "Be sure to add all dependencies in the meta.yaml  url=%s" % url)
RuntimeError: Setuptools downloading is disabled in conda build. Be sure to add all dependencies in the meta.yaml  url=https://pypi.org/simple/msgpack/
1

1 Answers

0
votes

I was able to get this to work by changing the arguments to pip in the build command to this:

python -m pip install --no-deps --ignore-installed .

With the key flag being --no-deps. I explicitly tell conda to install msgpack-python (wa conda package) in the meta.yaml file, and then the later pip installation does not check for the msgpack dependency (which I assume fails because it only sees msgpack-python, not msgpack)