Путаница в отношении среды pip и conda - PullRequest
3 голосов
/ 27 марта 2020

Я пытаюсь установить библиотеку twint в виртуальной среде conda. Я должен использовать pip, потому что библиотека не находится на каналах conda или conda forge. twint требует Python 3.6, поэтому я создал новую виртуальную среду с этой версией. Я создал эту среду, следуя инструкциям Anaconda:

conda create --name py36 python=3.6

Снова следуя инструкциям Anaconda, я устанавливаю pip в эту среду. Я думаю, что здесь происходит странная вещь: мне говорят, что pip уже установлен.

MacBook-Pro-89:~ Zack$ conda install -n py36 pip
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata .........
Solving package specifications: ..........

# All requested packages already installed.
# packages in environment at /Users/Zack/anaconda/envs/py36:
#
pip                       20.0.2                     py_2    conda-forge

Проверяю ли я версию своего pip (which -a pip) из среды py36 или нет, показано следующее:

(py36) MacBook-Pro-89:~ Zack$ which -a pip
/Users/Zack/anaconda/bin/pip
/Users/Zack/anaconda/bin/pip
/Users/Zack/anaconda/bin/pip
/Users/Zack/anaconda/bin/pip
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip

Если я пытаюсь установить twint, он выдает ошибки при multidict. Сообщение об ошибке очень длинное, поэтому ниже я показываю верх и низ, что показывает что-то вроде Python 3.5.

     ERROR: Command errored out with exit status 1:
       command: /Users/Zack/anaconda/bin/python /Users/Zack/anaconda/lib/python3.5/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/56/sdxbs4_x1xlgyb_9vg9mkn300000gn/T/pip-build-env-exnpi3i_/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'pip>=18' 'setuptools>=40' wheel
           cwd: None
[DELETED BY ME FOR THIS ANSWER]
    ERROR: Command errored out with exit status 1: /Users/Zack/anaconda/bin/python /Users/Zack/anaconda/lib/python3.5/site-packages/pip install --ignore-installed --no-user --prefix /private/var/folders/56/sdxbs4_x1xlgyb_9vg9mkn300000gn/T/pip-build-env-exnpi3i_/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'pip>=18' 'setuptools>=40' wheel Check the logs for full command output.

Я также пытался с pip3, та же ошибка.

Я также попытался клонировать проект twint из github и установить его с помощью файла требований, но я получаю ошибку, похожую на ту, что уже вижу:

ERROR: Package 'twint' requires a different Python: 3.5.2 not in '>=3.6.0'

Я не думаю, что это проблема PYTHONPATH , поскольку я не верю, что когда-либо устанавливал его.

MacBook-Pro-89:~ Zack$ echo $PYTHONPATH

MacBook-Pro-89:~ Zack$ source activate py36
(py36) MacBook-Pro-89:~ Zack$ echo $PYTHONPATH

(py36) MacBook-Pro-89:~ Zack$ 

Я почти уверен, что у меня нет pip в среде py36, которую я создал, что означает, что он пытается использовать Python 3.5. Чего я не понимаю, так это того, что у меня есть pip в среде py35, которую я создал. У меня также нет этой проблемы на удаленном рабочем столе, который я использую, где снова pip существует в среде Python 3.6. Так что с моим окружением py36 на моем ноутбуке происходит что-то странное.

Основываясь на полезных комментариях ниже, я попробовал следующее, но также безрезультатно. См. Комментарии к моим ответам.

install -y python=3.6 pip conda which pip /Users/Zack/anaconda/bin/pip

python -m pip twint /Users/Zack/anaconda/envs/py36/bin/python: No module named pip

Я использую Macbook Pro 2016 года с OS X El Capitan. xcode обновлен.

Что я делаю не так?!?! Почему это не сработает?!?!

1 Ответ

1 голос
/ 30 марта 2020

Я вижу, у вас проблемы с установкой pip. Альтернативный способ установки pip - через get-pip.py

https://pip.pypa.io/en/stable/installing/

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py  
python get-pip.py

Теперь вы можете использовать установку pip

python -m pip install pip --upgrade
python -m pip install twint
...