Ошибка сегментации: 11 с использованием env [закрыто]Python

Программы на Python
Anonymous
Ошибка сегментации: 11 с использованием env [закрыто]

Сообщение Anonymous »

Я начал использовать venv. Я хотел бы перенести свой проект, разработанный с использованием Python 3.11, в эту среду, чтобы передать его другим. Итак, я начал пробовать в venv несколько очень простых (рабочих) проектов. Но когда дело доходит до сценариев, использующих PyQt5 (я установил его в каталог venv), при запуске выполнения я часто получаю сообщение «Ошибка сегментации: 11».
С проектами, предназначенными только для Pygame, таких проблем нет. Я использую macOS 10.13. Как я могу решить эту проблему?
Вот несколько сценариев из книги «Создание приложения с графическим интерфейсом с помощью Python и Qt5» М.Ф. Этот (листинг 17) работает в venv:

Код: Выделить всё

import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QCheckBox, QMainWindow

class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("My App")
widget = QCheckBox("This is a checkbox")
widget.setCheckState(Qt.Checked)
# For tristate: widget.setCheckState(Qt.PartiallyChecked)
# Or: widget.setTristate(True)
widget.stateChanged.connect(self.show_state)
self.setCentralWidget(widget)
def show_state(self, s):
print(s == Qt.Checked)
print(s)

app = QApplication(sys.argv)
window = MainWindow()
window.show()

app.exec_()
Но следующие примеры (листинг 18, ​​19,...), перенесенные на venv, выдают сообщение об ошибке сегментации. Эс. Листинг 19:

Код: Выделить всё

import sys

from PyQt5.QtWidgets import QApplication, QListWidget, QMainWindow

class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("My App")
widget = QListWidget()
widget.addItems(["One", "Two", "Three"])
widget.currentItemChanged.connect(self.index_changed)
widget.currentTextChanged.connect(self.text_changed)
self.setCentralWidget(widget)

def index_changed(self, i): # Not an index, i is a QListItem
print(i.text())

def text_changed(self, s): # s is a str
print(s)

app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()
Повторяю, моя конечная цель — перенести мой проект, использующий окна pygame и pyqt5, в среду venv. Спасибо за помощь.
P.S. здесь вы можете увидеть отчет об ошибке: https://file.io/PB73AYLc1lz7

Подробнее здесь: https://stackoverflow.com/questions/786 ... -using-env

Вернуться в «Python»