我已经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-get
和python-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
路径导入库。
解决方案是
site-packages
到/usr/lib/
路径在代码顶部插入以下内容,以便在需要时仍可以更新软件包 pip
import sys
sys.path.insert(0, "/the/site-packages/path/you/want")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句