Синтаксическая ошибка после установки пакета фьючерсов в моем virtualenv - PullRequest
0 голосов
/ 24 января 2019

Я использую virtualenvwrapper. Под моим virtualenv с python3 я успешно установил futures, затем, если я установлю что-либо еще, появятся синтаксические ошибки, которые происходят из пакета futures ошибки следующие:

$ pip install futures
Collecting futures
Installing collected packages: futures
Successfully installed futures-3.1.1
$ pip install sklearn
Traceback (most recent call last):
  File "/data/analytics/yliu/.virtualenvs/alice1/bin/pip", line 7, in <module>
    from pip._internal import main
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/__init__.py", line 40, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py", line 12, in <module>
    from pip._internal.commands import (
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 6, in <module>
    from pip._internal.commands.completion import CompletionCommand
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/commands/completion.py", line 6, in <module>
    from pip._internal.cli.base_command import Command
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 24, in <module>
    from pip._internal.index import PackageFinder
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/index.py", line 41, in <module>
    from pip._internal.wheel import Wheel
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/pip/_internal/wheel.py", line 7, in <module>
    import compileall
  File "/usr/local/anaconda3/anaconda/lib/python3.6/compileall.py", line 20, in <module>
    from concurrent.futures import ProcessPoolExecutor
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/concurrent/futures/__init__.py", line 8, in <module>
    from concurrent.futures._base import (FIRST_COMPLETED,
  File "/data/analytics/yliu/.virtualenvs/alice1/lib/python3.6/site-packages/concurrent/futures/_base.py", line 381
    raise exception_type, self._exception, self._traceback
                        ^
SyntaxError: invalid syntax

Я проверил ответ на этот вопрос: Ошибка установки pip в Python 3 virtualenv , но она не работает для меня. Пакет futures действительно установлен в правильной версии python, которая является python 3.6.5.

Я попытался установить фьючерс на python3.6 глобально, и все работает отлично. так что, кажется, что-то с futures и virtualenv.

Может кто-нибудь помочь мне решить эту проблему?

Большое спасибо

1 Ответ

0 голосов
/ 24 января 2019

пакет фьючерсов в PyPI - это бэкпорт стандартного библиотечного модуля concurrent.futures для Python 2.

Для использования futures в Python 3 вы не можетеНе нужно ничего устанавливать, это стандартный библиотечный модуль.

Теперь ваш virtualenv содержит сломанный модуль Python 2.Я рекомендую удалить virtualenv и воссоздать его.

...