ImportError:在Apache2 CGI中没有名为lxml.etree的模块失败

时间:2017-06-06 11:57:56

标签: python cgi apache2-module

错误只发生在网络上。如果我在控制台中运行它,那就没关系。我在ubuntu工作。

我已经使用CGI设置apache2来处理python并试图在代码中显示python版本,并且可以证明web和console都在相同的python版本和用户上运行。

但只要导入lxml.etree,我就得到了以下错误。

<IfDefine ENABLE_USR_LIB_CGI_BIN>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Require all granted


        #AddHandler cgi-script .py
        #Order allow,deny
        #Allow from all

    </Directory>
</IfDefine>

我的CGI配置如下: 文件名:serve-cgi-bin.conf

#!/usr/bin/python

import lxml.etree as ET
import sys

print "Content-Type: text/plain\r\n\r\n"
print "Hello World!"

print "[" + sys.version + "]" + "  [" + sys.prefix + "]"
#xml_filename='/var/www/htmprint/Water.xml'
#xsl_filename='/var/www/htmprint/Water.xsl'
#dom = ET.parse(xml_filename)
#xslt = ET.parse(xsl_filename)
#transform = ET.XSLT(xslt)
#newdom = transform(dom)
#print(ET.tostring(newdom, pretty_print=True))

我的python代码如下:

renderRow (rowData, sectionId, rowId) {
<TouchableWithoutFeedback onPress={() => {
  //be Clicked
})}>
  <View style={styles.root}>
    <Image style={styles.img} source={defaultAvatar} />
    <View style={styles.detail}>
      <Text allowFontScaling={false} numberOfLines={1} style={styles.name}>{nickName}</Text>
    </View>
  </View>
</TouchableWithoutFeedback>
}

render () {
return
    <ListView
      style={[{padding: 10, backgroundColor: grayBgColor, width: screenWidth}, this.props.style]}
      dataSource={this.state.ds}
      renderRow={this.renderRow.bind(this)}
      renderSectionHeader={this.renderSectionHeader}
      renderHeader={this.renderHeader}
    />
}

我觉得lxml.etree文件的权限不太合适,但我无法理解这一点。

如果有人可以提供帮助,请提前致谢。

1 个答案:

答案 0 :(得分:0)

将软件包安装到全局站点软件包,而不是您的个人空间.local。