【发布时间】:2019-04-25 07:18:42
【问题描述】:
我写了一个脚本,可以完美地从 Pycharm 运行。但是如果我从终端运行这段代码,它会说没有找到模块。
代码如下:
from rplidar import RPLidar, RPLidarException
lidar = RPLidar('/dev/ttyUSB0')
info = lidar.get_info()
print(info)
health = lidar.get_health()
print(health)
try:
for i, scan in enumerate(lidar.iter_scans()):
scan_data = []
for d in scan: #d[0] : Quality of the measurement
'''if 0< d[1] <15: #d[1] : Angle of the measurement
print(d[2]/10) #d[2] : Distance of the measurement '''
if False:
lidar.stop()
lidar.stop_motor()
lidar.disconnect()
break
except KeyboardInterrupt as err:
print('key board interupt')
lidar.stop()
lidar.stop_motor()
lidar.disconnect()
except RPLidarException as err:
print(err)
lidar.stop()
lidar.stop_motor()
lidar.disconnect()
except AttributeError:
print('hi attribute error')
当我像下面这样运行这个 scipt 时:
python -m main.py
我收到了这个错误:
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/shahin/PycharmProjects/RpLidar/main.py", line 1, in <module>
from rplidar import RPLidar, RPLidarException
ImportError: No module named rplidar
shahin@shahin-UX360UAK:~/PycharmProjec
如果你能告诉我如何解决这个问题,我会很高兴。
同时,当我在 pycharm 中运行此代码时,我想从中捕获 KeyboardInterrupt。但它不起作用。即使我做Contro + c。
谁能告诉我在 pycharm 中谁也可以做 KeyboardInterrupt。
【问题讨论】:
-
您可能使用不同的 Python 版本或安装方式吗?
-
python 和模块安装路径似乎有些问题。检查您是否使用正确的模块路径在终端中工作。
-
你用的是什么版本的python,它在哪里?
-
嗨,即使我安装了 3.7,但在我的终端中它显示 Python 2.7.15rc1(默认,2018 年 4 月 15 日,21:51:34)@user8408080
-
但是当我从 pycharm 运行它时,相同的代码可以正常工作,当我从终端运行它时它是否也可以正常工作? @Shiv_90
标签: python