【问题标题】:Error [Errno 89] Function not implemented while executing command python setup.py egg_info错误 [Errno 89] 执行命令 python setup.py egg_info 时未实现功能
【发布时间】:2013-06-22 23:33:47
【问题描述】:

2013 年 6 月 25 日更新)我在尝试使用 pip 安装不同的软件包时看到相同的错误,表明该软件包可能与问题无关。


在QNX 上运行pip 时出现以下错误。

# pip install -U catkin_pkg 
Downloading/unpacking catkin-pkg
  Running setup.py egg_info for package catkin-pkg

Requirement already up-to-date: argparse in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: docutils in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: python-dateutil in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
Requirement already up-to-date: six in /usr/pkg/lib/python2.7/site-packages (from python-dateutil->catkin-pkg)
Installing collected packages: catkin-pkg
  Running setup.py install for catkin-pkg
    Error [Errno 89] Function not implemented while executing command /usr/qnx650/host/qnx6/x86/usr/bin/python -c "import setuptools;__file__='/tmp/pip-build-n130s/catkin-pkg/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-XhRdBe-record/install-record.txt --single-version-externally-managed
Exception:
Traceback (most recent call last):
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/commands/install.py", line 271, in run
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 1185, in install
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/req.py", line 592, in install
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/usr/pkg/lib/python2.7/site-packages/pip-1.3-py2.7.egg/pip/util.py", line 627, in call_subprocess
    cwd=cwd, env=env)
  File "/usr/pkg/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/pkg/lib/python2.7/subprocess.py", line 1205, in _execute_child
    self.pid = os.fork()
OSError: [Errno 89] Function not implemented
Storing complete log in /root/.pip/pip.log

我第一次运行这个命令时,没有安装依赖的组件,如argparse,docutils,python-dateutil和six,发生了同样的错误,但是在检查这些必需组件的部分.现在我已经一一安装了它们,它似乎发生在我自己安装的 pkg 上(即catkin_pkg)。

在 python 的控制台上,os.fork(),我认为是原因的来源,表现不同。因此我什至不确定错误是否发生在os.fork()。

# python
Python 2.7.4 (default, Jun 21 2013, 22:33:48) 
[GCC 4.4.2] on qnx6
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.fork()
18804790
>>> 0
sem_wait: Invalid argument

如何避免此错误?谢谢!

使用QNX 6.5.0 SDP SP1,pip 版本是 1.3 (its source on github),也是source of catkin_pkg。

【问题讨论】:

    标签: pip qnx ros qnx-neutrino


    【解决方案1】:

    不知怎的,我想通了。运行 pip WITHOUT -U 选项会安装软件包(安装日志在底部以供参考)。

    ...但是为什么...? pip 的帮助信息对我来说似乎没有意义:

    $ pip install --help
    :
    Install Options:
    :
      -U, --upgrade   Upgrade all packages to the newest available version. This process is recursive regardless of whether a dependency is already satisfied.
    

    pip的安装日志:

    $ pip install catkin_pkg    
    Downloading/unpacking catkin-pkg
      Running setup.py egg_info for package catkin-pkg
    
    Requirement already satisfied (use --upgrade to upgrade): argparse in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
    Requirement already satisfied (use --upgrade to upgrade): docutils in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
    Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/pkg/lib/python2.7/site-packages (from catkin-pkg)
    Requirement already satisfied (use --upgrade to upgrade): six in /usr/pkg/lib/python2.7/site-packages (from python-dateutil->catkin-pkg)
    Installing collected packages: catkin-pkg
      Running setup.py install for catkin-pkg
        changing mode of build/scripts-2.7/catkin_create_pkg from 664 to 775
        changing mode of build/scripts-2.7/catkin_generate_changelog from 664 to 775
        changing mode of build/scripts-2.7/catkin_tag_changelog from 664 to 775
        changing mode of build/scripts-2.7/catkin_test_changelog from 664 to 775
    
        changing mode of /usr/pkg/bin/catkin_create_pkg to 775
        changing mode of /usr/pkg/bin/catkin_generate_changelog to 775
        changing mode of /usr/pkg/bin/catkin_tag_changelog to 775
        changing mode of /usr/pkg/bin/catkin_test_changelog to 775
    Successfully installed catkin-pkg
    Cleaning up...
    

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2019-10-11
      • 2014-02-26
      • 2015-05-01
      • 2018-01-22
      • 2016-12-18
      • 2018-12-03
      相关资源
      最近更新 更多