首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Conda骨架pypi失败,并显示pmdarima -- AttributeError numpy disutils

Conda骨架pypi失败,并显示pmdarima -- AttributeError numpy disutils
EN

Stack Overflow用户
提问于 2020-09-07 01:06:44
回答 2查看 181关注 0票数 3

我正在尝试在conda环境中安装pmdarima包,因为它需要statsmodel <0.12,我还想使用statmodel的最新版本来完成这个项目。我的理解是有限的,但我首先尝试了

conda skeleton pypi pmdarima

这失败了,与下面描述的numpy disutils相关的AttributeError是相同的。

类似于这个问题中的提问者:Conda skeleton pypi: ModuleNotFoundError: No module named 'numpy',我也无法让它工作。

conda install -n _build numpy

然后,我尝试了上面链接的SO问题中列出的建议,并运行:

conda skeleton pypi --extra-specs numpy pmdarima

这导致了相当长的输出,但据我所知,关键部分是:

代码语言:javascript
复制
Applying patch: '/var/folders/7f/8d7rz34522gcq4z774n9v91r0000gn/T/tmp8tv1gdnxconda_skeleton_pmdarima-1.7.1.tar.gz/pypi-distutils.patch'
patching file core.py
Hunk #1 succeeded at 168 with fuzz 2 (offset 1 line).
Partial import of pmdarima during the build process.
Requirements: ['joblib>=0.11', 'Cython>=0.29,<0.29.18', 'numpy>=1.17.3', 'pandas>=0.19', 'scikit-learn>=0.22', 'scipy>=1.3.2', 'statsmodels>=0.11,<0.12', 'urllib3', 'setuptools<50.0.0']
Setting up with numpy.distutils.core
Traceback (most recent call last):
  File "setup.py", line 324, in <module>
    do_setup()
  File "setup.py", line 320, in do_setup
    setup(**metadata)
  File "/opt/anaconda3/conda-bld/skeleton_1599410605346/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/lib/python3.7/site-packages/numpy/distutils/core.py", line 130, in setup
    if dist.help or not _command_line_ok():
AttributeError: 'NoneType' object has no attribute 'help'
$PYTHONPATH = /var/folders/7f/8d7rz34522gcq4z774n9v91r0000gn/T/tmp8tv1gdnxconda_skeleton_pmdarima-1.7.1.tar.gz/pmdarima-1.7.1

Leaving build/test directories:
  Work:
 /opt/anaconda3/conda-bld/skeleton_1599410605346/work 
  Test:
 /opt/anaconda3/conda-bld/skeleton_1599410605346/test_tmp 
Leaving build/test environments:
  Test:
source activate  /opt/anaconda3/conda-bld/skeleton_1599410605346/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_place 
  Build:
source activate  /opt/anaconda3/conda-bld/skeleton_1599410605346/_build_env 


Error: command failed: /opt/anaconda3/conda-bld/skeleton_1599410605346/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/python setup.py install

有什么想法吗?非常感谢您提前这么多,非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-09-07 14:14:51

不确定基于NumPy的构建的正确解决方案是什么,但是the setup.py does check for an sdist argument,哪个分支使用setuptools而不是numpy进行构建。因此,以下代码似乎可以避免导致问题的代码:

代码语言:javascript
复制
conda skeleton pypi --setup-options sdist pmdarima

我怀疑这种解决方法的缺点是没有完成Cython编译,但不能完全确定。

你可能想用file an issue on the pmdarima GitHub看看有没有开发人员有想法。否则,在您想要的环境中使用pip install包可能会更有效(只要该环境不是基于)。

票数 1
EN

Stack Overflow用户

发布于 2020-09-08 01:44:05

@merv感谢您的帮助!有趣的是,这对框架有效,但在运行conda-build时失败,输出如下(截断到出现错误):

代码语言:javascript
复制
0 location(s) to search for versions of sdist:
Given no hashes to check 0 links for project 'sdist': discarding no candidates
ERROR: Could not find a version that satisfies the requirement sdist (from versions: none)
ERROR: No matching distribution found for sdist
Exception information:
Traceback (most recent call last):
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 216, in _main
    status = self.run(options, args)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 325, in run
    reqs, check_supported_wheels=not options.target_dir
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 339, in _get_abstract_dist_for
    self._populate_link(req)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 305, in _populate_link
    req.link = self._find_requirement_link(req)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/resolution/legacy/resolver.py", line 270, in _find_requirement_link
    best_candidate = self.finder.find_requirement(req, upgrade)
  File "$PREFIX/lib/python3.7/site-packages/pip/_internal/index/package_finder.py", line 928, in find_requirement
    req)
pip._internal.exceptions.DistributionNotFound: No matching distribution found for sdist
Removed build tracker: '/private/tmp/pip-req-tracker-umxriyi2'
Traceback (most recent call last):
  File "/opt/anaconda3/bin/conda-build", line 11, in <module>
    sys.exit(main())
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 474, in main
    execute(sys.argv[1:])
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/cli/main_build.py", line 465, in execute
    verify=args.verify, variants=args.variants)
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/api.py", line 210, in build
    notest=notest, variants=variants)
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 3036, in build_tree
    notest=notest,
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/build.py", line 2155, in build
    cwd=src_dir, stats=build_stats)
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/utils.py", line 407, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "/opt/anaconda3/lib/python3.7/site-packages/conda_build/utils.py", line 387, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/opt/anaconda3/conda-bld/pmdarima_1599500058832/work/conda_build.sh']' returned non-zero exit status 1.

我承认我们在这一点上很难理解,(我需要以某种方式编辑meta.yaml文件吗?这是不是很疯狂?)但我会试着按你的建议开一期,再一次感谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63766773

复制
相关文章

相似问题

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