首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用zipapp装载Hy包?

如何用zipapp装载Hy包?
EN

Stack Overflow用户
提问于 2019-01-23 07:51:49
回答 1查看 274关注 0票数 0

我有一个Python脚本(作为入口点)、一个为什么?库(只需添加两列)和一个输入数据文件:

代码语言:javascript
复制
$ cat add_cols/app.py 
import hy
import sys
from mylib import add2col

def main():
    inp = sys.argv[1]
    out = sys.argv[2]
    print(f'read file {inp}, and convert to file {out}')
    add2col(inp, out)

if __name__ == '__main__':
    main()

$ cat add_cols/mylib.hy 
(import [pandas :as pd])

(defn add2col [inpfile outfile]
  (setv inp (.read_csv pd inpfile))
  (assoc inp "cola"  (+ (get inp "cola") (get inp "colb")))
  (.to_csv inp outfile :index False))

$ cat demo.csv
cola,colb
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2
1,2

我可以直接运行它并得到结果:

代码语言:javascript
复制
$ cd add_cols
$ python app.py ../demo.csv res.csv
read file ../demo.csv, and convert to file res.csv
$ cat res.csv
cola,colb
3,2
3,2
3,2
...

现在我尝试以齐帕普的形式运行它

代码语言:javascript
复制
$ python -m zipapp add_cols -m 'app:main'
$ python add_cols.pyz demo.csv res.csv
Traceback (most recent call last):
  File "/home/leo/apps/miniconda3/envs/hylang/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/leo/apps/miniconda3/envs/hylang/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "add_cols_hy.pyz/__main__.py", line 2, in <module>
  File "add_cols_hy.pyz/app.py", line 3, in <module>
ModuleNotFoundError: No module named 'mylib'

为什么mylib不能加载?如何在zipapp中加载Hy库?

环境:

  • Python 3.6,Anaconda
  • Ubuntu 16.04

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-08-03 14:14:52

是的,这是个窃听器。现在是Hy's问题#1774

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54322331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档