Як знизити версію Python з 3,7 на 3,6


88

Я намагаюся встановити tensorflow, але йому потрібна установка Python 3.6, і у мене встановлений лише Python 3.7. Я намагався переключитися за допомогою brew та pyenv, але це не працює.

Хтось знає спосіб вирішення цієї проблеми?


4
Я рекомендую вам використовувати Anaconda . Потім створіть нове середовище для кожного нового проекту та активуйте його перед використанням. У вашому випадку, conda create -n myenv python=3.6іsource activate myenv
Кан


1
Оновлення тензорного потоку. Tensorflow 1.14 та 1.15 підтримують Python 3.7 (і раніше), а Tensorflow 2.2 підтримує Python 3.8
Борис

Відповіді:


34
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow

В останньому рядку є помилка
Божевільний фізик,

1
Це чудово працює, але я б запропонував, перш ніж pip install tensorflowстворити virtualenv або conda env, потім активувати його і, нарешті, використовуватиpip install tensorflow
Дієго Агуадо

Ви можете пропустити перші два рядки, якщо у вас була ця версія python раніше, і ви оновили її до вищої версії (і не використовували $ brew cleanupкоманду)
Микола Зотько

3
Що таке варити? Чи не можу я використовувати apt?
Джеймі Хатбер,

@JamieHutber brew.sh - це менеджер пакетів, спочатку створений для macOS, але сьогодні він також підтримує Linux, див. Docs.brew.sh/Homebrew-on-Linux . Якщо вам потрібно скористатися, aptви можете спробувати додати deadsnakesPPA, який пакує старіші версії python: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , але це працює лише у версіях Ubuntu з довгостроковою підтримкою (LTS) , які є 14.04, 16.04, 18.04 та 20.04, коли я пишу цей коментар у 2020 році.
Борис,

29

Якщо ви працюєте з Anaconda, тоді

conda install python=3.5.0
# or maybe 
conda install python=2.7.8
# or whatever you want....

може спрацювати.


Це спрацювало і вирішило мою проблему. Це не лише встановило стару версію Python, але й знизило її версію.
stok

3
Будь-яке інше рішення без використання condaдля Linux?
Dentrax

2
Я розумію UnsatisfiableError:The following specifications were found to be in conflict: - python=3.5.0 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> readline=7 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> tk=8.6
MrMartin

11

створити віртуальне середовище, встановити, а потім перейти на python 3.6.5

$ conda create -n tensorflow python=3.7
$ conda activate tensorflow
$ conda install python=3.6.5
$ pip install tensorflow

активуйте середовище, коли ви хочете використовувати tensorflow


7

Завантажте python 3.6.0 з https://www.python.org/downloads/release/python-360/

Встановіть його як звичайний пакет.

Біжи cd /Library/Frameworks/Python.framework/Version

lsКоманда Run, і всі встановлені версії Python будуть видимими тут.

Біжи sudo rm -rf 3.7

Перевірте версію зараз до, python3 -Vі зараз вона буде 3.6.


3

Створіть віртуальне середовище python за допомогою conda, а потім встановіть tensorflow:

$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow

Відтепер ви можете активувати середовище, коли захочете використовувати tensorflow.

Якщо у вас немає менеджера пакетів conda, спочатку завантажте його звідси: https://www.anaconda.com/distribution


Привіт @Seyed, у мене така ж проблема, мій шпигун за замовчуванням відкривається з 3.7, хоча я відкриваю інструменти-> налаштування для мого середовища conda python 3.6.9, як перейти в шпигун, навігатор anaconda не показує запуск для шпигуна?
hanzgs

2

Чистий спосіб без необхідності видаляти попередню версію або повертатися до додаткового програмного забезпечення, такого як Anaconda, docker тощо, - це завантажити вихідний код Python 3.6 та встановити його наступним чином:

$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall

Щоб скористатися ним:

  • додати /home/<user>/python3.6/binдо свого PATHlibдо LD_LIBRARY_PATH) і закінчити з цим. (Можливо, вам також доведеться додати до шляху включення тощо, залежно від того, чого саме ви намагаєтесь досягти - але, сподіваюся, ви зрозуміли ідею.);

  • або створити віртуальну середу , подібну до цієї: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.

Не потрібен доступ до sudo або root. Ніякого псування вашої системи.


Не забудьте спочатку завантажити останню версію (3.6.9): python.org/downloads/release/python-369
Rabindranath

1

У мене були проблеми з установкою tensorflow за допомогою python 3.7, і я дотримувався цих вказівок, щоб налаштувати віртуальне середовище за допомогою python3.6 і змусити його працювати

Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here 

налаштування віртуального середовища python3.6 для tensorflow

Якщо ви використовуєте ноутбук jupyter або лабораторію jupyter, це може бути корисним для вибору правильного віртуального середовища

python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname

На цьому етапі ви можете запустити jupyter, створити новий блокнот і вибрати ядро, яке живе у вашому середовищі.

віртуальне середовище та блокноти jupyter

Сподіваюся, це допомагає


-1

Для тих, хто хоче додати кілька версій Python у свою систему: я легко додаю кілька інтерпретаторів, виконуючи такі команди:

  • sudo apt оновлення
  • sudo apt встановити програмне забезпечення-властивості-загальні
  • sudo add-apt-repository ppa: deadsnakes / ppa
  • sudo apt встановити python 3.xx
  • то, роблячи своє віртуальне середовище, виберіть перекладач на ваш вибір.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.