Ошибка Python "импорт: невозможно открыть X-сервер"
При попытке запуска фрагмента кода python возникают следующие ошибки:
import: unable to open X server `' @ error/import.c/ImportImageCommand/366.
from: can't read /var/mail/datetime
./mixcloud.py: line 3: syntax error near unexpected token `('
./mixcloud.py: line 3: `now = datetime.now()'
Код:
import requests
from datetime import datetime,date,timedelta
now = datetime.now()
Мне действительно не хватает проблемы. Это что-то, что у моего сервера просто возникает проблема, а не сам код?
Ответы
Ответ 1
это ошибки из командной оболочки. вы запускаете код через оболочку, а не python.
попробуйте интерпретатор python;)
$ python
Python 2.7.5+ (default, Sep 19 2013, 13:48:49)
[GCC 4.8.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> from datetime import datetime,date,timedelta
>>>
>>> now = datetime.now()
>>>
если вы используете script, вы можете напрямую ссылаться на python:
$ python mixcloud.py
в противном случае убедитесь, что он начинается с правильной линии shebang:
#!/usr/bin/env python
... и вы можете вызывать его только по имени (при условии, что оно отмечено как исполняемый файл):
$ ./mixcloud.py
Ответ 2
Проверьте, находится ли строка #! в первой строке вашего файла python. Я получил эту ошибку, потому что я поместил эту строку во вторую строку файла.
Ответ 3
Я получил эту ошибку, когда попытался запустить скрипт Python в Docker с помощью Docker Run. Убедитесь, что в этом случае вы правильно установили точку входа:
--entrypoint /usr/bin/python
Ответ 4
Та же ошибка была связана с очень небольшим изменением в первой строке скрипта .py. Предполагалось, что между # есть пробел! а остальная часть строки так: #!/usr/bin/python2
#!/usr/bin/python2
вместо начального #!/usr/bin/python2