2013-06-22 8 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-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.

ответ

0

Я как-то понял. Запуск pip БЕЗ -U опция получает установленный пакет (установка журнала находится внизу для справки).

... Но почему ...? Помощь послание pip «s, кажется, не имеет смысла для меня:

$ 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...