当前位置: 首页 > 知识库问答 >
问题:

为什么ia Pyinstaller不与PyCharm合作?

万俟棋
2023-03-14

我用Kivyin Pycharm构建了pong游戏,并希望将其导出为一个独立的.exe。我尝试了Pyinstaller,结果出现了这样的情况:

41727警告:找不到库:C:\users\Utilizador\PycharmProjects\PythonProjects\Venv\lib\Site-Packages\Pywin32_System32\PywinTypes39.dll 42028警告:找不到库:C:\users\Utilizador\PycharmProjects\Python39.dll依赖关系\Venv\lib\Site-Packages\Pywin32_System32\PythonCom39.dll 42081警告:找不到库:C:\ProgramE.P yd 42297警告:找不到库:C:\Program Files\WindowsAPPS\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLS_Ctypes得Python39.DLL依赖项.pyd 42360警告:找不到库:C:\ProgramFiles\WindowsPs\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLS_MultiPR Ocessing.PYD42382警告:找不到库:C:\ProgramFiles\WindowsPs\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLs\Pyexpat.pyd 42445警告:找不到库:C:\Program Files\WindowsAPPs\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLs\Unicoded ATA.pyd 42482警告:找不到库:C:\Program Files\WindowsAPPs\PythonSoftwareFoundation.Python39.DLL依赖关系Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLS_Asyncio.pyd 42544警告:找不到库:

42714警告:找不到库:C:\Program Files\WindowsAPPS\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLS_Socket.pyd 42799警告:找不到库:C:\Program Files\WindowsAPPs\PythonSoftwareFoundation.Python.3.9_3.9.1264.0_X64__QBZ5N2KFRA8P0\DLLS_SSL.pyd的依赖项

null

46625警告:stderr:*在Debian/Ubuntu上,您需要安装Python开发包46625警告:stderr:*在Debian/Ubuntu上,您需要安装Python开发包*apt-get安装python3-dev 46625警告:stderr:*apt-get安装python3-dev apt-get安装python-dev 46625警告:stderr:*apt-get安装python-dev 46625警告:stderr:*apt-get安装python-dev 46625警告:stderr:*apt-get安装python-dev 46625警告:stderr:*

46625警告:stderr:

这不断出现。我在Pycharm中尝试了很多不同的代码和项目,但都不起作用。我尝试过不同的版本和不同的命令,但最终都是一样的。

我得到了“dist”文件夹,但它是空的,总是空的。这是我的代码:

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import (
    NumericProperty, ReferenceListProperty, ObjectProperty
)
from kivy.vector import Vector
from kivy.clock import Clock
class PongPaddle(Widget):
    score = NumericProperty(0)

    def bounce_ball(self, ball):
        if self.collide_widget(ball):
            vx, vy = ball.velocity
            offset = (ball.center_y - self.center_y) / (self.height / 2)
            bounced = Vector(-1 * vx, vy)
            vel = bounced * 1.1
            ball.velocity = vel.x, vel.y + offset


class PongBall(Widget):
    velocity_x = NumericProperty(0)
    velocity_y = NumericProperty(0)
    velocity = ReferenceListProperty(velocity_x, velocity_y)

    def move(self):
        self.pos = Vector(*self.velocity) + self.pos
class PongGame(Widget):
    ball = ObjectProperty(None)
    player1 = ObjectProperty(None)
    player2 = ObjectProperty(None)

    def serve_ball(self, vel=(4, 0)):
        self.ball.center = self.center
        self.ball.velocity = vel

    def update(self, dt):
        self.ball.move()

        # bounce of paddles
        self.player1.bounce_ball(self.ball)
        self.player2.bounce_ball(self.ball)

        # bounce ball off bottom or top
        if (self.ball.y < self.y) or (self.ball.top > self.top):
            self.ball.velocity_y *= -1

        # went of to a side to score point?
        if self.ball.x < self.x:
            self.player2.score += 1
            self.serve_ball(vel=(4, 0))
        if self.ball.x > self.width:
            self.player1.score += 1
            self.serve_ball(vel=(-4, 0))

    def on_touch_move(self, touch):
        if touch.x < self.width / 3:
            self.player1.center_y = touch.y
        if touch.x > self.width - self.width / 3:
            self.player2.center_y = touch.y
class PongApp(App):
    def build(self):
        game = PongGame()
        game.serve_ball()
        Clock.schedule_interval(game.update, 1.0 / 60.0)
        return game
if __name__ == '__main__':
    PongApp().run()

谢谢.

共有1个答案

蒙洛华
2023-03-14

打开cmd并do:cd(python文件所在的目录)示例:cd desktop

然后执行pyinstaller--onefile name.py

 类似资料:
  • 问题内容: 我正在将某些东西从Java移植到C#。在Java中,a 取决于其中的项目。在C#中,我总是从… 获取相同的哈希码。 为什么是这样? 对于我的某些对象,哈希码必须有所不同,因为其list属性中的对象使对象不相等。我希望哈希码对于对象的状态始终是唯一的,并且仅在对象相等时才等于另一个哈希码。我错了吗? 问题答案: 为了正常工作,散列码必须是不可变-一个对象的散列码必须 永远不会 改变。 如

  • 考虑下面的API方法,它取自Shiro的接口,但也可能存在于其他库中: 是的,即使是现在,仍然有库使用原始类型,可能是为了保持Java 1.5之前的兼容性?! 如果我现在想将此方法与流或选项一起使用,如下所示: 我收到一条关于未经检查的转换和使用原始类型的警告,我更喜欢使用参数化类型。 日食: 类型安全:收集(Collector)方法属于原始类型Stream javac: 注意:GenericsT

  • 问题内容: 在调试pycharm中的代码时,按Ctrl + C时,我的python try / except循环似乎不会触发键盘中断。我的代码如下所示: 编辑: 我的精简代码工作似乎出现了一些问题,并且没有产生相同的错误。完整的代码可以在这里查看。我还重新整理了代码(上面的代码),并产生了相同的错误。 问题答案: 从屏幕截图中可以看出,您正在IDE中运行此代码。关于IDE的问题是,它们与正常运行并

  • 问题内容: 我正在使用Mac OS X并尝试设置pycallgraph。 香港专业教育学院安装pycallgraph与pip和graphviz与自制。 一切都可以从Shell进行。但不是来自pycharm。 此处: -> virtualenv目录 ->项目目录 它要我做什么? 问题答案: 答案是: 在菜单栏中: -> -> 在对话框中: 对于所选文件或对于默认值/ Python: 环境字段组: >

  • 问题内容: 我正在尝试编写一个将通用列表转换为特定类型列表的函数。在下面找到代码 但是显示编译错误- 无法对类型参数T执行instanceof检查。请改用其擦除对象>,因为在运行时将删除更多的通用类型信息。 任何澄清或方法来获得预期的结果? 提前致谢。:) 问题答案: 您无法以这种方式这样做。幸运的是,您已经有一个参数,所以可以 如果属于类或子类,则将返回true 。 正如@ILMTitan指出的