Python 为什么我的py脚本在终端中运行良好,但在使用pyinstaller编译时出错?

Python 为什么我的py脚本在终端中运行良好,但在使用pyinstaller编译时出错?,python,raspberry-pi,pyinstaller,raspbian,Python,Raspberry Pi,Pyinstaller,Raspbian,我创建了一个python脚本,我想在我的raspberry pi上编译成一个可执行文件,但是我对linux的不熟悉阻碍了我的工作。为什么我在运行pyinstaller创建的可执行文件时出错,而我的脚本在终端中运行正常 为了检查脚本是否能在我的pi上正确运行,我在terminal中导航到正确的目录并运行以下命令 python <my python file>.py pip install pyinstaller 它的安装似乎没有错误。不幸的是,我尝试了以下代码开始编译,但遇到了一个

我创建了一个python脚本,我想在我的raspberry pi上编译成一个可执行文件,但是我对linux的不熟悉阻碍了我的工作。为什么我在运行pyinstaller创建的可执行文件时出错,而我的脚本在终端中运行正常

为了检查脚本是否能在我的pi上正确运行,我在terminal中导航到正确的目录并运行以下命令

python <my python file>.py
pip install pyinstaller
它的安装似乎没有错误。不幸的是,我尝试了以下代码开始编译,但遇到了一个错误

pyinstaller <my python file>.py
pyinstaller.py
这给了我一个错误“找不到命令”。相反,我尝试了以下代码来运行它

python -m PyInstaller <my python file>.py
python-m PyInstaller.py 它成功地运行了(尽管我不完全理解其中的区别),我导航到名为dlist的新目录以查找可执行文件。我找到了可执行文件,但现在我发现了一个新问题。当我导航到终端中的dlist目录并运行可执行文件时,我得到以下错误

    Traceback (most recent call last):
  File "/home/Jonah/Downloads/ocr_with_api.py", line 3, in <module>
    import requests
  File "/tmp/pip-unpacked-wheel-RITpob/PyInstaller/loader/pyimod03_importers.py", line 391, in load_module
  File "/usr/lib/python2.7/dist-packages/requests/__init__.py", line 60, in <module>
    from .packages.urllib3.exceptions import DependencyWarning
ImportError: No module named urllib3.exceptions
[6374] Failed to execute script ocr_with_api
回溯(最近一次呼叫最后一次):
文件“/home/Jonah/Downloads/ocr_with_api.py”,第3行,在
导入请求
文件“/tmp/pip解包车轮RITpob/PyInstaller/loader/pyimod03\u importers.py”,第391行,在加载模块中
文件“/usr/lib/python2.7/dist-packages/requests/_-init__.py”,第60行,在
from.packages.urllib3.exceptions导入依赖项警告
ImportError:没有名为urllib3.exceptions的模块
[6374]无法使用_api执行脚本ocr_
有人能帮我吗?有一段时间,错误消息的结尾说没有名为requests的模块,但似乎我已经解决了这个问题,同时也收到了一个新的错误,说我没有名为urllib3的模块。异常。。。我真的很困惑


仅供参考-当我在终端中键入
python--version
时,它告诉我我正在使用一个版本的python2。当我在终端中键入
python3--version
时,它告诉我我正在使用最新的版本。我在用Python 2编译脚本时没有问题,只要它运行正常,我假设我只需要在terminal中分别键入python3和pip3,而不是Python和pip,就可以使用Python 3安装。

目前正在检查pyinstaller文档是否支持Python 2.7和3.5到3.7您在使用吗python 3.8?有一种方法可以使python在终端中具有相关性,当您键入

pyinstaller <my python file>.py
pyinstaller.py
Linux或raspbian根本不认为它是python库或python命令,这就是为什么必须在它前面加上“python-m”前缀的原因
youtube上有很多教程介绍了如何在linux终端上运行python,这些终端仍然可以在raspbian上运行。因此,是的,请检查您的python版本是否可以与pyinstaller一起使用,然后返回给我们:D

它似乎在编译时没有绑定依赖项键入
python--version
为我提供了
python 2.7.13
。键入
python3--version
可以得到
python3.5.3