У меня новая версия Anaconda 4.5.10 (64-разрядная версия Python 3.6) на Ubuntu 16.04. Я создал Python 2.7 conda env с именем py2.7
, используя следующую команду:
conda create -n py2.7 python=2.7
После активации среды which pip
возвращает /home/sam/anaconda3/envs/py2.7/bin/pip
. Когда я пытаюсь установить что-либо с помощью pip, я получаю ошибку зависимости. Например:
(py2.7) sam@sam-M3:~$ pip install numpy
/home/sam/.local/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22) or chardet (2.3.0) doesn't match a supported version!
RequestsDependencyWarning)
Traceback (most recent call last):
File "/home/sam/anaconda3/envs/py2.7/bin/pip", line 7, in <module>
from pip._internal import main
File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 18, in <module>
from pip.commands import get_summaries, get_similar_commands
File "/usr/lib/python2.7/dist-packages/pip/commands/__init__.py", line 6, in <module>
from pip.commands.completion import CompletionCommand
File "/usr/lib/python2.7/dist-packages/pip/commands/completion.py", line 4, in <module>
from pip.basecommand import Command
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 19, in <module>
from pip.req import InstallRequirement, parse_requirements
File "/usr/lib/python2.7/dist-packages/pip/req/__init__.py", line 3, in <module>
from .req_install import InstallRequirement
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 18, in <module>
from pip._vendor.distlib.markers import interpret as markers_interpret
File "/home/sam/.local/lib/python2.7/site-packages/distlib/markers.py", line 108, in <module>
DEFAULT_CONTEXT = default_context()
File "/home/sam/.local/lib/python2.7/site-packages/distlib/markers.py", line 97, in default_context
'platform_python_implementation': platform.python_implementation(),
File "/usr/lib/python2.7/platform.py", line 1481, in python_implementation
return _sys_version()[0]
File "/usr/lib/python2.7/platform.py", line 1443, in _sys_version
repr(sys_version))
ValueError: failed to parse CPython sys.version: '2.7.15 |Anaconda, Inc.| (default, May 1 2018, 23:32:55) \n[GCC 7.2.0]'
Я вижу, что ошибка вызвана тем, что Python пытается получить доступ к библиотекам в /usr/lib/python2.7
, но я хочу получить доступ только к библиотекам, которые являются частью conda py2.7 env. Моя проблема решена здесь: https://stackoverflow.com/a/46672866/10274139,, но решение не ясно. Когда включена conda env, когда я перечисляю свои переменные окружения, я ничего не вижу в других путях Python:
(py2.7) sam@sam-M3:~$ env | grep python
CONDA_PYTHON_EXE=/home/sam/anaconda3/bin/python
Кроме того, если я создаю окружение Python 3.7, я не получаю ошибок, когда я pip install
в этом окружении.