Pycurl不会在Raspberry Pi上导入

时间:2013-09-12 22:49:40

标签: python raspberry-pi pycurl

我试图在Raspberry Pi上使用pycurl。我已经使用apt-get install python-pycurl成功安装了pycurl,并且我找到了一个小脚本来查看它是否正常工作:

import pycurl
c = pycurl.Curl()
c.setopt(c.URL, 'http://news.ycombinator.com')
c.perform()

当我使用sudo ./pycurltest.py运行此脚本时出现错误:

./pycurltest.py: 1: ./pycurltest.py: import: not found
./pycurltest.py: 2: ./pycurltest.py: Syntax error: "(" unexpected

但是,如果使用python解释器并使用help(modules),我可以看到安装了pycurl。当我尝试在解释器中运行相同的脚本时,它可以工作,我得到:

<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

第一行有误导性。

./pycurltest.py: 1: ./pycurltest.py: import: not found

看起来解释器建议无法找到空白导入,或者发现:

import Pycurses#<---something else is here

检查.py脚本在行尾没有任何奇怪的字符,并且它有一个正确的换行符:

import pycurl

来自python docs

  

物理线是由行尾序列终止的字符序列。在源文件中,可以使用任何标准平台线路终止序列 - 使用ASCII LF(换行)的Unix表单,使用ASCII序列CR LF的Windows表单(返回后跟换行)或使用ASCII的旧Macintosh表单CR(返回)字符。无论平台如何,所有这些形式都可以平等使用。嵌入Python时,源代码字符串应使用换行符的标准C约定传递给Python API(\ n字符,表示ASCII LF,是行终止符)。