搜索
查看: 1275|回复: 2

【py扩展库】导入包或包内的模块出错

[复制链接]

3

主题

9

帖子

51

积分

一级会员

Rank: 2

积分
51
发表于 2017-10-30 22:53:15 | 显示全部楼层 |阅读模式
测试代码如下:

  1. import console;
  2. import py
  3. py.appendPath("D:\ProgramData\Anaconda3\Lib\site-packages");
  4. pyCode = /*
  5. import numpy
  6. def test():
  7.         a = numpy.arctan(12)
  8.         return a;
  9. */

  10. py.exec(pyCode)
  11. console.log(py.main.test())

  12. console.pause()
复制代码


另外,发布为exe时是否支持将从扩展搜索目录里导入的包或者模块自动打包到发布目录下,方便在没有安装python环境的其它电脑上直接运行?

再次感谢作者的辛苦付出~!
回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13973
发表于 2017-10-31 01:12:22 | 显示全部楼层
你的代码在python34中测试是正常的,
在python3.4 中 pip install numpy 安装该模块以后,在aardio中可以正常导入并使用。

Anaconda3里的numpy是相同的版本号,
但是打开实际的文件并不一样,导入出错,能在Anaconda3里跑的东西不一定能离开Anaconda3跑,建议你直接使用Python官方版下载安装模块就可以。

关于你最后的需求,Python自动搜索打包依赖模块没有一个工具是真正靠谱的,这个是Python自身的一个局限, aardio可以用来打包绿色的python运行环境,但如果你的python代码需要用到其他第三方模块,最好是自己复制一下(复制到python搜索模块的zip包,或目录,参考范例关于搜索python模块的说明)。


回复

使用道具 举报

3

主题

9

帖子

51

积分

一级会员

Rank: 2

积分
51
 楼主| 发表于 2017-11-4 14:47:47 | 显示全部楼层
Jacen.He 发表于 2017-10-31 01:12
你的代码在python34中测试是正常的,
在python3.4 中 pip install numpy 安装该模块以后,在aardio中可以 ...

非常感谢您耐心且详尽的回复~!

可能原因是Anaconda3装的是64位。根据您的提示,安装了python3.4.3 x86版本,设置python多版本共存后,再下载numpy包,可以正常使用了。

  1. import console
  2. import py;

  3. py.appendPath("D:\Program Files (x86)\python34\Lib\site-packages")

  4. var pyCode = /*
  5. import numpy
  6. def test():
  7.         a = numpy.arctan(12);
  8.         return a
  9. */
  10. py.exec(pyCode);
  11. console.log(py.main.test())

  12. console.pause();
复制代码


至于自动搜索打包依赖模块的问题,目前也是通过手动复制的方式解决了。
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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