pip install pyscf, другие пакеты - выдает TypeError: parse () получил неожиданный аргумент ключевого слова «transport_encoding» - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь установить pyscf вместе с другими модулями в свой локальный пользовательский экземпляр /home/user/.local/, но со многими пакетами, которые мне нужно установить, я получаю сообщение об ошибке ниже.

Я также уже пытался следовать предложению здесь .

user@computer ~ $ python -m pip install --user --upgrade pyscf
Collecting pyscf
Exception:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/pip/basecommand.py", line 211, in main
    status = self.run(options, args)
  File "/usr/lib64/python2.7/site-packages/pip/commands/install.py", line 294, in run
    requirement_set.prepare_files(finder)
  File "/usr/lib64/python2.7/site-packages/pip/req/req_set.py", line 334, in prepare_file
s
    functools.partial(self._prepare_file, finder))
  File "/usr/lib64/python2.7/site-packages/pip/req/req_set.py", line 321, in _walk_req_to
_install
    more_reqs = handler(req_to_install)
  File "/usr/lib64/python2.7/site-packages/pip/req/req_set.py", line 461, in _prepare_fil
e
    req_to_install.populate_link(finder, self.upgrade)
  File "/usr/lib64/python2.7/site-packages/pip/req/req_install.py", line 250, in populate
_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 486, in find_requirement
    all_versions = self._find_all_versions(req.name)
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 404, in _find_all_versions
    index_locations = self._get_index_urls_locations(project_name)
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 378, in _get_index_urls_lo
cations
    page = self._get_page(main_index_url)
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 818, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 949, in get_page
    trusted=link.trusted,
  File "/usr/lib64/python2.7/site-packages/pip/index.py", line 866, in __init__
    namespaceHTMLElements=False,
  File "/home/user/.local/lib64/python2.7/site-packages/html5lib/html5parser.py", line 47, in parse
    return p.parse(doc, **kwargs)
  File "/home/user/.local/lib64/python2.7/site-packages/html5lib/html5parser.py", line 289, in parse
    self._parse(stream, False, None, *args, **kwargs)
  File "/home/user/.local/lib64/python2.7/site-packages/html5lib/html5parser.py", line 130, in _parse
    self.tokenizer = _tokenizer.HTMLTokenizer(stream, parser=self, **kwargs)
  File "/home/user/.local/lib64/python2.7/site-packages/html5lib/_tokenizer.py", line 36, in __init__
    self.stream = HTMLInputStream(stream, **kwargs)
  File "/home/user/.local/lib64/python2.7/site-packages/html5lib/_inputstream.py", line 151, in HTMLInputStream
    return HTMLBinaryInputStream(source, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'encoding'

1 Ответ

0 голосов
/ 07 апреля 2019

Какую версию Python и pip вы намереваетесь использовать?

Эта ошибка может произойти, если вы попытаетесь установить модуль python3 с pip из python 2. Чтобы использовать конкретную версию pip, попробуйте:

# Make sure you have python3 installed, for example on CentOS:
sudo yum install python36 -y

# Install & Upgrade pip3
sudo python36 -m pip install --upgrade pip

# Validate pip3 installation:
sudo python3.6 -m ensurepip
#  Successfully installed pip-10.0.1 setuptools-39.0.1

# Clear commands cache (might be required if getting in bash: /usr/bin/pip3: No such file or directory)
hash -r

pip2 -V
# pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

which pip2
# /usr/local/bin/pip2

pip3 -V
# pip 19.0.3 from /usr/local/lib/python3.6/site-packages/pip (python 3.6)

which pip3
# /usr/local/bin/pip3

# Install your Python3 module:
sudo /usr/local/bin/pip3 install pyscf
...