搜索
查看: 1169|回复: 5

aardio中运行python代码导入模块问题

[复制链接]

2

主题

6

帖子

37

积分

新手入门

Rank: 1

积分
37
发表于 2017-11-16 00:02:09 | 显示全部楼层 |阅读模式
代码:
import console;
console.open();
import py;

var pycode = /**
import requests
import lxml.etree

def getTitle():
    content = requests.get("http://www.hao123.com").content
    html = lxml.etree.HTML(content)
    title = html.xpath('//title/text()')
    return title
**/

var run = py.exec(pycode)

console.log(py.main.getTitle())
console.pause(true);

aardio中不支持 from lxml import etree,用import lxml.etree也会出现错误。但是在python中,如果只是import lxml,这句代码html = lxml.etree.HTML(content)会出现错误,
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-11-16 00:05:47 | 显示全部楼层
Python扩展库是完整的Python运行时,跟Python.exe基本是一模一样的,
可以去看一下python.exe的源码,一样的只是调用Python3x.dll,其他没几句代码。

所以不存在你所说的:aardio中的python不支持什么什么.....
都是一样的python.

from语句几乎每个python模块都会用到,
如果你说的是真的,你一句python代码也跑不起来才对。
回复

使用道具 举报

2

主题

6

帖子

37

积分

新手入门

Rank: 1

积分
37
 楼主| 发表于 2017-11-16 00:21:23 | 显示全部楼层
Jacen.He 发表于 2017-11-16 00:05
Python扩展库是完整的Python运行时,跟Python.exe基本是一模一样的,
可以去看一下python.exe的源码,一样 ...

在python中的代码是:
import requests
import lxml.etree

def getTitle():
    content = requests.get("http://www.hao123.com").content
    html = lxml.etree.HTML(content)
    title = html.xpath('//title/text()')
    return title

print(getTitle())

运行正常

aardio中的代码是:

import console;
console.open();
import py;

var pycode = /**
import requests
import lxml.etree

def getTitle():
    content = requests.get("http://www.hao123.com").content
    html = lxml.etree.HTML(content)
    title = html.xpath('//title/text()')
    return title

**/

var run = py.exec(pycode)

console.log(py.main.getTitle())
console.pause(true);


在 aardio中运行代码出现的错误是:
Traceback <ost recent call last>:
    file "<stirng>",line2,in <module>
import Error:Dll load failed:%1 不是有效的Win32 应用程序
错误行号#19
文件:【string "import console;..."】;
不支持词操作:call
定义类型:methon(table)
名字:‘getTitle'
类型:null

截图了 没有发图片的权限

回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-11-16 00:29:13 | 显示全部楼层
lbw0319 发表于 2017-11-16 00:21
在python中的代码是:
import requests
import lxml.etree

这种类似的问题我三天两头都要回答一次,

不知道是不是我解释的不清楚,aardio中的python,跟你使用的python官方版本并没有不同,
如果还是不相信,可以自行打开python.exe的代码确认。

怎么导入模块,这是python的入门知识,别人帮不了你,
我怎么知道你少放了哪个文件,这只有你自己知道。
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-11-16 00:35:24 | 显示全部楼层
没有发图片的权限,这个事我三天两头的要解释一下,
很多网站都不能上传图片,这种事你不是第一次遇到吧,找个图床上传一下不用玩编程的小白都会吧?!
而且代码中的问题,基本都不需要图片可以表达清楚。

提问的时候尽量发代码不要发截图,
论坛如果让截图的话,很多都是懒得发代码,动不动就截图,
结果你想测试一下他的问题,还得对着图片一个字一个字的把他打一遍。
回复

使用道具 举报

10

主题

82

帖子

666

积分

三级会员

Rank: 4

积分
666
发表于 2017-11-16 10:30:47 | 显示全部楼层
https://pypi.python.org/pypi/lxml/4.1.1#downloads 下载 lxml-4.1.1-cp34-cp34m-win32.whl,更名后缀为ZIP,然后解压,将其中的 lxml(含路径名)解压至 aardio 下的 \lib\py\.res\DLLs 中,就可以正常使用了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-10-24 07:27 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表