Виртуаленв делает больше, чтобы изолировать конкретную среду Python, чем предвосхищает путь к Virtualenv к $ PATH?
Длинная версия: на Mac OSX 10.14;использование Python 3.5 для совместимости с PySpark.
Системный python, установленный с brew install --override Python:
/usr/local/bin/python -> /Library/Frameworks/Python.framework/Versions/3.5/bin/python3
python --version
Python 3.5.4
Virtual Env был создан для использования этой конкретной версии python
virtualenv -p /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 environment
source ./environment/bin/activate
python --version
Python 3.5.4
Тем не менее, я вижу совершенно другое поведение при использовании pip:
Collecting JayDeBeApi
Could not fetch URL https://pypi.python.org/simple/jaydebeapi/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:719) - skipping
Could not find a version that satisfies the requirement JayDeBeApi (from versions: )
No matching distribution found for JayDeBeApi
После обновления pip для TLS:
curl https://bootstrap.pypa.io/get-pip.py | python
Затем библиотеки, которые я пытаюсьУстановка (JayDeBeApi, JPype1) завершается неудачно с ошибками gcc в виртуальной среде, но успешно устанавливается в системной версии.
From virtualenv:
pip install JayDeBeApi
fatal error: /Library/Developer/CommandLineTools/usr/bin/lipo: can't figure out the architecture type of: /var/folders/xn/qhw906zd77j7tv5sj0drpw9m0000gn/T//cc0FmpQW.out
error: command 'gcc-4.2' failed with exit status 1
В то время как из системного питона он успешно устанавливается.
Мое пониманиеЭто связано с тем, что Xcode больше не поддерживает gcc. , и что одним из обходных путей является использование установленного в системе python.Использование виртуальных сред предпочтительнее, так что еще здесь происходит?Какие еще утилиты (кроме pip) нужно обновить вручную?