Forums

I cannot install "PyDictionary" in bash

I'm running my very "cool" discord bot and install all the packages I need and then suddenly this hideous error blocked me from installing PyDictionary:

13:46 ~ $ pip install PyDictionary
Defaulting to user installation because normal site-packages is not writeable
Looking in links: /usr/share/pip-wheels
Collecting PyDictionary
  Using cached PyDictionary-2.0.1-py3-none-any.whl (6.1 kB)
Collecting bs4
  Using cached bs4-0.0.2-py2.py3-none-any.whl (1.2 kB)
Requirement already satisfied: click in /usr/local/lib/python3.10/site-packages (from PyDictionary) (8.0.3)
Collecting goslate
  Using cached goslate-1.5.4.tar.gz (14 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: requests in /usr/local/lib/python3.10/site-packages (from PyDictionary) (2.28.1)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.10/site-packages (from bs4->PyDictionary) (4.11.1)
Collecting futures
  Using cached futures-3.0.5.tar.gz (25 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py egg_info did not run successfully.
   exit code: 1
  ╰─> [25 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 14, in <module>
        File "/usr/local/lib/python3.10/site-packages/setuptools/__init__.py", line 18, in <module>
          from setuptools.dist import Distribution
        File "/usr/local/lib/python3.10/site-packages/setuptools/dist.py", line 31, in <module>
          from setuptools.extern.more_itertools import unique_everseen
        File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
        File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
        File "<frozen importlib._bootstrap>", line 674, in _load_unlocked
        File "<frozen importlib._bootstrap>", line 571, in module_from_spec
        File "/usr/local/lib/python3.10/site-packages/setuptools/extern/__init__.py", line 52, in create_module
          return self.load_module(spec.name)
        File "/usr/local/lib/python3.10/site-packages/setuptools/extern/__init__.py", line 37, in load_module
          __import__(extant)
        File "/usr/local/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/__init__.py", line 1, in <module>
          from .more import *  # noqa
        File "/usr/local/lib/python3.10/site-packages/setuptools/_vendor/more_itertools/more.py", line 5, in <module>
          from concurrent.futures import ThreadPoolExecutor
        File "/tmp/pip-install-pr03s2kk/futures_ad95a1c457164fb88054b20933afe977/concurrent/futures/__init__.py", line 8, in <module>
          from concurrent.futures._base import (FIRST_COMPLETED,
        File "/tmp/pip-install-pr03s2kk/futures_ad95a1c457164fb88054b20933afe977/concurrent/futures/_base.py", line 357
          raise type(self._exception), self._exception, self._traceback
                                     ^
      SyntaxError: invalid syntax
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

It appears that the setup file failed to load. If you don't have any fixes please at least recommend me a package for searching the English dictionary.

It looks like PyDictionary has been abandoned, so it may well not be compatible with Python 3.10. However, that error looks really weird. Can you install other packages with pip -- say, requests?

I actually now use PyMultiDictionary. And yes I can.

Is PyMultiDictionary working OK? I was a little concerned from the stack trace you gave earlier that something might have broken pip itself, but if you can install stuff then I suppose the problem was just with PyDictionary.

It's fine

Great, glad to hear it!