2013-06-22 4 views
0

업데이트 6/25/2013) pip을 사용하여 다른 패키지를 설치하려고 할 때 동일한 오류가 발생하여 패키지에 아무 것도 없을 가능성이 있음을 나타냅니다. 문제를 해결하십시오. 오류 [Errno 89] 명령 실행 중 함수가 구현되지 않음 python setup.py egg_info


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-dateutilsix으로 의존 된 구성 요소가 설치되지 않은이 명령을 실행 처음

이 같은 오류는하지만, 이러한 필수 구성 요소를 확인하는 부분에서, 일어났다. 이제 하나씩 설치 했으므로 자체 설치중인 패키지에서 발생하는 것 같습니다 (예 : catkin_pkg).

원인의 원인이 있다고 생각하는 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입니다.

답변

0

나는 어떻게 든 알아 냈습니다. 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...