在nodejs pyshell中导入已安装的python包时出错

查波

我已经pip在Ubuntu 18.04服务器上安装了使用的软件包

当我进入终端并输入以下内容时,一切正常:

$ python
>>> import <package-name>

我能够使用包功能等。

但是,当我通过中的const PythonShell = require('python-shell');实用程序执行此操作Node.Js,我得到了ModuleNotFoundError: No module named '<package-name>'import <package-name>代码是我正在使用node.js中的python shell运行的python文件中的唯一内容)

有什么可以解释这种治疗差异?

查波

万一其他人陷入那些愚蠢的路径问题中,这是实际的问题和我的解决方案。

问题是,一些Python包是通过安装pip等人通过apt-getpython-shell不加载pip的。

对于我的特定示例,我试图加载一个包,该包在我的计算机上位于

/home/ubuntu/.local/lib/python2.7/site-packages/ -> pip install
/home/ubuntu/.local/lib/python3.6/site-packages/ -> pip install
/usr/lib/python2.7/dist-packages/ -> apt-get install

由于某种原因,python-shell只能从/usr/lib路径导入库

解决方案是

  1. 将库文件夹从中复制site-packages/usr/lib/路径
  2. 在代码顶部插入以下内容,以便在需要时仍可以更新软件包 pip

    import sys
    sys.path.insert(0, "/the/site-packages/path/you/want")
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章