【问题标题】:pyinstaller No module named pyinstallerpyinstaller 没有名为 pyinstaller 的模块
【发布时间】:2017-11-28 04:14:07
【问题描述】:

我的 mac osx sierra 下安装了 2 个 python 版本: 蟒蛇3.5 蟒蛇2.7

我用这个命令在python3.5下安装了pyinstaller:

python3.5 -m pip install pyinstaller

如果我再次运行我得到的相同命令:

要求已经满足:./lib/python3.5/site-packages 中的 pyinstaller 已满足要求:.​​/lib/python3.5/site-packages 中的 setuptools(来自 pyinstaller)

这对我来说意味着它已安装在 python 3.5 下并可以使用。

当我运行这个命令时:

python3.5 -m pyinstaller mypython35script.py

我得到: /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5:没有名为pyinstaller的模块

为什么? 我做错了什么?

干杯 D.

【问题讨论】:

  • 你试过pyinstaller mypython35script.py吗?
  • 是的,但对我不起作用,因为如果我这样做,它可以使用 python2.7 而不是我需要运行的 3.5 版本。
  • 可能从 PATH 中删除 Python3.5,然后在完成 pyinstaller 后将其添加回来?只是一个想法

标签: python macos pyinstaller macos-sierra


【解决方案1】:

他们的包名中有大写字母(不确定是不是很 PEP8 tho..)。如果您找不到 pyinstaller 可执行脚本,这应该可以工作:

python -m PyInstaller your_script.py 

【讨论】:

  • 这听起来很有趣,但是今天我使用的是 PyInstaller,但忘记了它的正确导入名称,花了 20 分钟才弄清楚,然后终于来到这里并看到了我的支持。所以再次感谢@Guillaume
  • 这会覆盖规范文件
【解决方案2】:

我在这里遇到了同样的问题,我尝试了所有方法,但最终我找到了解决方案:

我不得不将 pip 从版本 19 降级到 18.1:

pip install pip==18.1

然后安装 PyInstaller:

pip install pyinstaller

.

如您所见,我设法安装了它: .

之后你可以再次升级你的点子:

python -m pip install --upgrade pip

【讨论】:

  • @Paolo 我尝试了一切来修复它,这是唯一对我有用的东西。
  • 好的,因此接受(抱歉我说“检查”)你的答案。要将答案标记为已接受,请单击答案旁边的复选标记以将其从灰色切换为填充(绿色)。对于 * 统计数据,这意味着平台上的另一个成功答案。
【解决方案3】:

PyInstaller 在从 python3 - m 方法执行时区分大小写。 您需要按如下方式运行它。


python3 -m PyInstaller yourscript.py


如果你想直接从终端执行你需要如下安装。


python3 -m pip install pyinstallerpip3 install pyinstaller


接下来,您需要将全局 python 可执行文件设置为 python3。


pyinstaller yourscript.py


【讨论】:

    【解决方案4】:

    我遇到了同样的麻烦,所以我尝试按照@mounirboulwafa 所说的去做。

    我不得不将 pip 从版本 19 降级到 18.1:
    pip install pip==18.1

    但即使在 pip 18 安装期间,我也再次收到此错误!

    所以我再次阅读了控制台日志,并看到了一些关于用户、权限等的行。 并尝试以管理员身份启动 cmd,然后重复安装 pyinstaller。

    有效!

    如此典型的事情出人意料地解决了这个问题。 希望它可以帮助某人。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题,原来模块名称是 CASE-SENSITIVE 我不知道,所以不是 cmd -

      python3.5 -m pyinstaller mypython35script.py
      

      你应该跑

      python3.5 -m PyInstaller mypython35script.py
      

      事实证明,安装没有问题

      Requirement already satisfied: pyinstaller in ./lib/python3.5/site-packages Requirement already satisfied: setuptools in ./lib/python3.5/site-packages (from pyinstaller)
      

      pip install 在 PyPi(Python 包索引)中搜索模块名称,其中 大小写无关

      请随时纠正我或添加 cmets,因为我对 Python命令行

      还很陌生

      【讨论】:

        【解决方案6】:

        最后,该版本放弃了对 Python 2.7 的支持,该版本自 2020 年 1 月起停止使用。现在所需的最低版本是 Python 3.5。支持 Python 2.7 的最后一个版本是 PyInstaller 3.6。

        pip install pyinstaller==3.6
        

        所以如果有人使用 python 2.7 版本,只需安装 pyinstaller3.6 版本并运行它就可以正常工作。

        【讨论】:

          【解决方案7】:

          您应该导航到您的脚本文件夹并在那里打开命令窗口(通过在按住 shift 键的同时单击鼠标右键)并在其中写入:

          pyinstaller mypython35script.py
          

          如果脚本位于其他位置,请在键入 pyinstaller 后将脚本拖到命令窗口中。希望这会有所帮助。

          【讨论】:

          • 如果我运行该命令将获取我不/不能使用的默认 OSX python 版本。
          • 对于 python 2.7,您必须有一个文件夹,例如 Python27。但是对于 Python 3.5,您可能有一个类似 Python35(或 Python35-32)的文件夹。在该文件夹中,您将找到类似的内容。在那里找到脚本文件夹,然后执行必要的操作。然而,如果 exe 被创建一次它并不真正关心它用于制作哪个 python 版本(只要 dist 文件夹没有搞砸)
          【解决方案8】:

          目前,我发现使它起作用的唯一方法是: 导航到:

          /Library/Frameworks/Python.framework/Versions/3.5/bin

          运行 pyinstaller mypython35script.py

          干杯 d.

          ps 我仍然不知道为什么没有按照我在第一篇文章中描述的方式工作。

          【讨论】:

          • 在您的问题中,您提到错误为 No module named pyinstaller 这是因为没有为 python 3.5 版本安装 pyinstaller 模块。
          【解决方案9】:

          将您的 pyinstaller 重命名为 pyinstaller35,并将您的 pyinstaller-script.py 重命名为 python3.5 安装目录中的 scripts 目录中的 pyinstaller35-script.py。现在将 scripts 目录添加到系统路径。现在您可以将其运行为 pyinstaller35 yourfile.py -F

          【讨论】:

            【解决方案10】:

            从 Anaconda 提示以下对我有用。导航到模块所在位置后运行以下命令

            pyinstaller --onefile mypython35script.py
            

            【讨论】:

              【解决方案11】:

              在我的情况下,我只是在管理员模式下打开了 cmd,然后重新运行了下面的 cmd,它就可以工作了。

              pip install pyinstaller

              【讨论】:

                【解决方案12】:

                这适用于我的 pip 版本 19.0.1

                cmd => rightclick => with admin rights
                
                Enter in cmd: "pip install pyinstaller"
                

                【讨论】:

                  【解决方案13】:

                  PyInstaller 遇到 pip 19.0 问题 (https://github.com/pyinstaller/pyinstaller/issues/4003)

                  将 pip 降级到 18.1 版本可以正常工作。

                  【讨论】:

                    【解决方案14】:

                    没有一个解决方案对我有用,所以我尝试通过命令卸载 pyinstaller

                    py -m pip 卸载 pyinstaller

                    他们给出的最后一条路径是脚本“pyinstaller.exe”的路径。 所以我所做的只是拖放就可以了!

                    【讨论】:

                      【解决方案15】:

                      你需要转到你的.py所在的文件,pyinstaller需要像这样“PyInstaller”大写

                      完整命令:python -m PyInstaller --onefile [yourfile.py]

                      如果你想在控制台文件中,将-w 放在--onefile 后面

                      【讨论】: