Drake python3 .7 до python3 .8 изменение на ма c требует некоторых усилий - PullRequest
0 голосов
/ 20 апреля 2020

Дрейк обновился до Python 3,8 на ма c, но это определенно не безболезненно.

Скорее всего, если вы запустите install_prereqs.sh Дрейка, то немедленно запустите нашу стандартную проверку

python3 -c 'import pydrake; print(pydrake.__file__)'

вы найдете, что это не работает! Вы увидите ошибку вроде:

ImportError: Python version mismatch: module was compiled for Python 3.8, but the interpreter version is incompatible: 3.7.7 (default, Mar 10 2020, 15:43:33)

Это потому, что недавно установленная python3 .8 не находится на вашем пути по умолчанию. Документация Drake упоминает об этом, но это легко пропустить: https://github.com/RobotLocomotion/drake/pull/13031/files#diff -e023fae1c07b0af84d2687aae9fbb2b0R21

Запуск brew info python@3.8 также сказал нам рекомендуемое исправление (но также было легко пропустить)

If you need to have python@3.8 first in your PATH run:
  echo 'export PATH="/usr/local/opt/python@3.8/bin:$PATH"' >> ~/.zshrc

Даже все еще jupyter notebook все еще терпели неудачу, потому что они находили python3.7. Мне пришлось запустить jupyter kernelspec list, чтобы найти файл /usr/local/share/jupyter/kernels/python3/kernel.json и отредактировать python в python3.

 "argv": [
  "python3",  # <== this was "python"
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python 3",
 "language": "python"
}

Тем не менее, мой nbconvert конвейер для тестирования все еще не работает. Работаем над этим следующим ...

...