我有一个Python脚本,在启动和出现问题时需要运行 是它抛出一个错误,提示“没有名为xyz的模块”。我正在使用通过pip3安装的外部库。脚本本身就可以正常工作 但是我想在启动后立即运行它时遇到上述错误。
我该怎么办?我尝试用time.sleep(10)延迟导入该库,以防第三方库在启动后需要几秒钟来加载,但这并没有达到预期的效果。
我在Raspberry Pi上使用基于Debian的操作系统Raspbian运行脚本。我通过将此sudo python3 script.py
添加到/ etc / profile文件中来配置启动时的执行。
答案 0 :(得分:1)
我不知道没有pip install
的{{1}}是如何工作的。
我看到的是:从cron或/etc/profile启动时运行的脚本是在root用户而不是sudo
用户下运行的。因此,它们与您的用户外壳中的pi
,$PATH
和其他环境变量值不同。
由于$PYTHONPATH
可以在没有pip install
的情况下运行,因此我怀疑您已将模块安装到用户特定的目录中,该目录不是sudo
的Python环境的一部分。 / p>
将root
行替换为/etc/profile
可能会有帮助。
无论是什么,都是Python环境中已经存在的差异。等待10秒钟“不管出现什么”都无济于事。
答案 1 :(得分:-1)
1-下载anaconda:https://www.anaconda.com/download/
2-在conda中创建环境:https://conda.io/docs/user-guide/tasks/manage-environments.html
3-激活该环境
4-conda install
或pip3 install
您的包裹
应该正常工作。