1

I'm using virtualenvwrapper. Under my virtualenv with python3, I installed futures successfully, then if I install anything else, it will pop up syntax errors which comes from futures package errors are as follows:

$ 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

I checked the answer in this question: pip install error within Python 3 virtualenv, but it doesn't work for me. The futures package is indeed installed in the right version of python which is python 3.6.5.

I tried to install futures on python3.6 globally and everything works fine. so it seems something with the futures and the virtualenv.

Can anyone please help me solve this issue?

Thanks so much

ShadowRanger
  • 143,180
  • 12
  • 188
  • 271
Alice
  • 21
  • 1
  • 5

2 Answers2

3

I got this issue because there's a python3 package's requirement includes futures. If you're short on time you can downgrade setuptools to 45.2.0 to bypass it.

Kamoo
  • 832
  • 4
  • 11
2

futures package at PyPI is a backport of the concurrent.futures standard library module to Python 2.

To use futures in Python 3 you don't need to install anything, it's a standard library module.

Now your virtualenv contains a broken Python 2 module. I recommend to remove the virtualenv and recreate it.

phd
  • 82,685
  • 13
  • 120
  • 165