Форум программистов, компьютерный форум, киберфорум
Python: IDE, инструментарий
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.09.2020
Сообщений: 3

NameError: name 'defaultParams' is not defined

14.09.2020, 15:51. Показов 1190. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравия всем! Есть проблема с компиляцией в pycharm!

В среде разработке все работает отлично. Но как только компилируешь файл, запускаешь exe-шник, то выскакивает графическое окно, потом вводишь данные и вылетает дурацкая ошибка. Либо вообще ничего не происходит, консоль сразу закрывается.

Код программы:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
from tkinter import *
import requests
from bs4 import BeautifulSoup
import nltk as nl
 
 
 
def plot_word_freq(url):
    """
    Функция анализа текста
    """
    # Делаем запрос на сервер и сохраняем информцию в переменной
    r = requests.get(url)
    # Получим HTML-код из объекта "Response"
    html = r.text
    # Создаем объект BeautifulSoup из HTML документа
    soup = BeautifulSoup(html, "html5lib")
    # С помощью метода get_text извлечем текст из документа
    text = soup.get_text()
    # Создадим tokenizer
    tokenizer = nl.tokenize.RegexpTokenizer('\w+')
    # Создадим токены из нашего текста используя tokenizer
    tokens = tokenizer.tokenize(text)
    # Создадим пустой список
    words = []
    # Пробежимся циклом по нашему токену и сформируем список из строчных букв
    for word in tokens:
        words.append(word.lower())
    # Выбираем Русский язык записываем stopwords в переменную 'sw'
    nl.download('stopwords')
    sw = nl.corpus.stopwords.words('russian')
    sw.extend(['это', 'её', 'всё', 'неё', 'ещё'])
    # Создаем новый пустой список в котором будет текст без стоп-слов
    words_ns = []
    # С помощью цикла и условия добавляем в 'words_ns' все слова из 'words', но без слов находящихся в 'sw'
    for word in words:
        if word not in sw:
            words_ns.append(word)
    # Создаём объект распределения слов с помощью метода FreqDist.
    analiz = nl.FreqDist(words_ns)
    # Задаём стиль визуализации
 
    # Выводим 30 самых часто встречаемых слов.
    analiz.plot(30, title='30 самых встречаемых слов в тексте', color='r')
    mytext = nl.Text(tokens)
    # Распределение слов
    mytext.dispersion_plot(['папа', 'мама'])
    # Словарный запас
    print(len(mytext))
 
 
def entry_url():
    """
    Функция нажатия кнопки и передачи введённого url функции анализа
    """
    url = message.get()
    plot_word_freq(url)
 
 
window = Tk()
 
w = window.winfo_screenwidth()  # ширина экрана
h = window.winfo_screenheight()  # высота экрана
w = w // 2  # середина экрана
h = h // 2
w = w - 400  # смещение от середины
h = h - 400
window.geometry('800x600+{}+{}'.format(w, h))
window.title("Программа анализа текста")
 
message = StringVar()
message_entry = Entry(textvariable=message)
message_entry.place(relx=.5, rely=.1, anchor="c")
message_button = Button(text="Задать адрес", command=entry_url)
message_button.place(relx=.5, rely=.5, anchor="c")
 
window.mainloop()
А вот ошибка:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[nltk_data] Downloading package stopwords to C:\PythonPrograms\Projekt
[nltk_data]     s\AnalizText\dist\analiztext\nltk_data...
[nltk_data]   Package stopwords is already up-to-date!
c:\pythonprograms\projekts\analiztext\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:493: MatplotlibDeprecationWarning: Matplotlib installs where the data is not in the mpl-data subdirectory of the package are deprecated since 3.2 and support for them will be removed two minor releases later.
  exec(bytecode, module.__dict__)
Exception in Tkinter callback
Traceback (most recent call last):
  File "tkinter\__init__.py", line 1883, in __call__
  File "analiztext.py", line 56, in entry_url
  File "analiztext.py", line 43, in plot_word_freq
  File "nltk\probability.py", line 263, in plot
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "c:\pythonprograms\projekts\analiztext\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "matplotlib\__init__.py", line 905, in <module>
  File "matplotlib\cbook\__init__.py", line 480, in _get_data_path
  File "matplotlib\__init__.py", line 239, in wrapper
  File "matplotlib\__init__.py", line 534, in get_data_path
  File "matplotlib\__init__.py", line 239, in wrapper
  File "matplotlib\__init__.py", line 563, in _get_data_path
NameError: name 'defaultParams' is not defined
Прога вроде простая, но ничего не получается сделать под винду. Смысл графического окна, чтобы пользователь мог ввести адрес ссылки.
Помогите!!!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.09.2020, 15:51
Ответы с готовыми решениями:

NameError: name 'a' is not defined
ver='\nверсия 1' def funk(a, b): global ver print('весы', ver) a=int(input('первое число: ')) b=int(input('второе...

NameError: name 'с' is not defined
what = input( &quot;Что делаем? (+,-): &quot; ) a = input(&quot;Введи первое число: &quot;) b = input(&quot;Введи второе число: &quot;) if what ==...

NameError: name 'x' is not defined
import pygame import random from os import path img_dir = path.join(path.dirname(__file__), 'img') WIDTH = 800 HEIGHT = 600...

4
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,214
14.09.2020, 16:08
Цитата Сообщение от AlexOwl Посмотреть сообщение
NameError: name 'defaultParams' is not defined
Вот ваша проблема.
Цитата Сообщение от AlexOwl Посмотреть сообщение
Но как только компилируешь файл
вот ещё одна ваша ошибка.

В общем, при упаковке у вас tkinter незапаковался полностью.
1
0 / 0 / 0
Регистрация: 14.09.2020
Сообщений: 3
14.09.2020, 16:11  [ТС]
Подскажите как исправить?
0
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,214
14.09.2020, 16:13
AlexOwl, рассмотреть возможность не упаковывать в exe проект на python. Подобная упаковка - это так, модная фишка в духе "а ещё можно вот так". Когда есть вариант без exe - надо без упаковки.
1
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
14.09.2020, 18:31
Цитата Сообщение от AlexOwl Посмотреть сообщение
Но как только компилируешь файл
Вот почему никто из "ТС-компиляторов в exe" доки pyinstaller не читает? Тогда бы узнали что 1) нет никакой компиляции 2) для правильной упаковки сложных пакетов нужно много писать ручками в spec файле. 3) никто не гарантирует, что все будет работать корректно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2020, 18:31
Помогаю со студенческими работами здесь

NameError: name 'a' is not defined
Задача при вводе в дискорд команды /random x y где х - всего игроков у - количество 'лохов' проблема в том что я не могу...

NameError: name '_' is not defined
Здравствуйте! Как известно, в Python есть буферная переменная _, которая каждый раз, как выполняется какая-то функция, возвращающая не...

NameError: name 'a' is not defined
Как подправить, чтобы заработало?# -*- coding: utf-8 -*- а = (43, 56, 45.23, 'd') b = print (a.__sizeof__())C:\Python34\python.exe...

NameError: name 'vk' is not defined
Что я делаю не так? При отправке сообщения пишет: &quot;Traceback (most recent call last): File &quot;Bot.py&quot;, line 21, in...

NameError: name 'name' is not defined
ошибка, как исправить. программа должна создавать всплывающую подсказку для кнопки line 12, in &lt;module&gt; if name ==...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru