Python — Как получить больше информации о SyntaxError?

#python #python-3.x #docker #ubuntu #singularity-container

#python #python-3.x #docker #ubuntu #сингулярность-контейнер

Вопрос:

Я пытаюсь запустить код Python в контейнере изображений Ubuntu со всеми необходимыми библиотеками.

 Bootstrap: docker
From: ubuntu

%post
apt-get -y update
apt-get -y install python python3-pip curl
pip3 install scikit-learn cython numpy pydot keras torch torchvision
pip3 install matplotlib pandas plotly nltk seaborn scrapy gensim tensorflow xgboost textblob
pip3 install gym kaggle-environments stable-baselines3
  

Я запускаю код в командной строке. Когда я запускаю простой код Hello World, он работает.

 cat hello.py | singularity exec connectx.simg  /usr/bin/python
  

Привет, мир!

Но когда я пытаюсь запустить другой скрипт, для которого требуются различные библиотеки, я получаю SyntaxError:

 cat training3.py | singularity exec connectx.simg  /usr/bin/python
  File "<stdin>", line 26
    def __init__(self, observation_space: gym.spaces.Box, features_dim: int = 512):
                                        ^
SyntaxError: invalid syntax
  

Мне непонятно, что вызывает SyntaxError. Как я могу получить больше информации об этой ошибке?

Комментарии:

1. Какая это версия Python? Этот синтаксис предназначен для подсказок типа, у вас может быть старая версия, которая его не поддерживает.

2. Они были добавлены в Python 3.5.

3. @Barmar Python 3.8.5

Ответ №1:

попробуйте это вместо:

 cat training3.py | singularity exec connectx.simg  /usr/bin/python3