56

尝试运行一段 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()

我真的缺乏看到一个问题。这是我的服务器只是遇到问题而不是代码本身的问题吗?

4

3 回答 3

97

这些是您的命令外壳中的错误。您正在通过 shell 运行代码,而不是 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()
>>> 

如果您使用的是脚本,则可以直接使用 python 调用:

$ python mixcloud.py

否则,请确保它以正确的 shebang 行开头:

#!/usr/bin/env python

...然后您可以单独按名称调用它(假设它被标记为可执行文件):

$ ./mixcloud.py
于 2013-10-22T00:41:37.607 回答
8

检查你的#! 行位于 python 文件的第一行。我收到此错误是因为我将此行放入文件的第二行。

于 2017-03-27T21:52:10.957 回答
0

当我尝试使用docker run在 docker 上运行我的 python 脚本时出现此错误。确保在这种情况下您设置的入口点设置正确:

--entrypoint /usr/bin/python
于 2018-02-14T01:21:49.267 回答