Делаю Telegram бот на python с помощью библиотеки pyTelegramBotApi. Суть в том, что у меня есть вот такой код
import telebot
from telebot import types
from clickupython import client
token = 'token' #здесь мой токен
bot = telebot.TeleBot(token)
c = client.ClickUpClient("token") #здесь мой токен
@bot.message_handler(commands=['start'])
def button_message(message):
markup=types.ReplyKeyboardMarkup(resize_keyboard=True)
item1=types.KeyboardButton("Просмотреть задачи")
item2=types.KeyboardButton("Создать задачу")
markup.add(item1, item2)
bot.send_message(message.chat.id,'Здравствуйте,{0.first_name} {0.last_name}, выберите действие:',reply_markup=markup)
@bot.message_handler(func=lambda call: True)
def message_reply(message):
if message.text=="Просмотреть задачи":
bot.send_message(message.chat.id, "ID | Имя | Описание | Создатель | Ссылка на задачу")
tasks = c.get_tasks("210333950")
for task in tasks:
bot.send_message(message.chat.id, task.id, " | ", task.name," | ", task.description, " | ", task.creator.username, " | ", task.url)
elif message.text=="Создать задачу":
bot.send_message(message.chat.id, "Я работаю над этим")
bot.infinity_polling()
А ошибка у меня вот такая
2022-09-06 17:51:57,345 (__init__.py:878 MainThread) ERROR - TeleBot: "Infinity polling exception: 'str' object has no attribute 'type'"
2022-09-06 17:51:57,346 (__init__.py:880 MainThread) ERROR - TeleBot: "Exception traceback:
Traceback (most recent call last):
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebot__init__.py", line 874, in infinity_polling
self.polling(non_stop=True, timeout=timeout, long_polling_timeout=long_polling_timeout,
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebot__init__.py", line 946, in polling
self.__threaded_polling(non_stop=non_stop, interval=interval, timeout=timeout, long_polling_timeout=long_polling_timeout,
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebot__init__.py", line 1021, in __threaded_polling
raise e
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebot__init__.py", line 977, in __threaded_polling
self.worker_pool.raise_exceptions()
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebotutil.py", line 154, in raise_exceptions
raise self.exception_info
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebotutil.py", line 98, in run
task(*args, **kwargs)
File "C:UsersSimonPycharmProjectspythonProject2main.py", line 25, in message_reply
bot.send_message(message.chat.id, task.id, " | ", task.name," | ", task.description, " | ", task.creator.username, " | ", task.url)
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebot__init__.py", line 1451, in send_message
apihelper.send_message(
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebotapihelper.py", line 271, in send_message
payload['entities'] = json.dumps(types.MessageEntity.to_list_of_dicts(entities))
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebottypes.py", line 1291, in to_list_of_dicts
res.append(MessageEntity.to_dict(e))
File "C:UsersSimonPycharmProjectspythonProjectvenvlibsite-packagestelebottypes.py", line 1315, in to_dict
return {"type": self.type,
AttributeError: 'str' object has no attribute 'type'
-
Геннадий
Сообщения:
29
Репутация:
N
Группа:
Кто попало
23 августа 2007 г. 14:16
Скажите, почему у меня при валидации, почти у все тего такая ошибка:
(несколько примеров, на странице используется HTML 3.2)there is no attribute «TYPE»
<link rel=»STYLESHEET» type=«text/css» href=»../style.css»>there is no attribute «CLASS»
<body class=«body»>there is no attribute «BACKGROUND»
<td background=«images/table_background.jpg»>И так почти во всех тегах. Что это? Во всех спецификациях атрибуты взяты в двойные кавычки, а здесь это выдается как ошибка.
-
md5
Сообщения:
11960
Репутация:
N
Группа:
в ухо
23 августа 2007 г. 14:24, спустя 8 минут 3 секунды
у td нету атрибута background
в стилях надо прописывать background:url(‘images/table_background.jpg’);все умрут, а я изумруд
-
TRIAL
Сообщения:
988
Репутация:
N
Группа:
Джедаи
23 августа 2007 г. 17:09, спустя 2 часа 44 минуты 52 секунды
Да когда эту фигню запускаешь, там показывают что 90% всех твоих тегов и атрибутов не существует
from TRIAL with LOVE
-
Timur
Сообщения:
1068
Репутация:
N
Группа:
Джедаи
23 августа 2007 г. 17:22, спустя 12 минут 52 секунды
Если стремишься к валидности кода не используй столь древний тип документа. Это ж ’97 год, первая рекомендация CSS появилась в ’96. Если не нравиться xHTML, используй HTML 4.01.
there is no attribute «TYPE»
<link rel=»STYLESHEET» type=»text/css» href=»../style.css»>Аттрибута type в html3.2 у LINK нету: http://www.cs.ifmo.ru/education/documentation/html32/index.shtml#link
there is no attribute «CLASS»
<body class=»body»>…ID, CLASS and STYLE attributes are not included in this version of HTML…
(аттрибуты ID, CLASS, STYLE не включены в эту версию HTML)
Да когда эту фигню запускаешь, там показывают что 90% всех твоих тегов и атрибутов не существует
дык может стоит задуматься и не использовать теги типа <center>, <font> и т.п.
-
Геннадий
Сообщения:
29
Репутация:
N
Группа:
Кто попало
23 августа 2007 г. 19:47, спустя 2 часа 25 минут 41 секунду
Спасибо. А XHTML сильно отличается от обычного HTML? Что стоит почитать чтоб начать использовать XHTML? Дайте пожалуйста какие нибудь ссылки.
-
aligator
Сообщения:
52
Репутация:
N
Группа:
Кто попало
-
Timur
Сообщения:
1068
Репутация:
N
Группа:
Джедаи
-
Геннадий
Сообщения:
29
Репутация:
N
Группа:
Кто попало
24 августа 2007 г. 12:54, спустя 13 часов 15 минут 3 секунды
Геннадий, почитайте вот это и не говорите потом, что вас не предупреждали
Да, заставляет задуматься.
Я так понял что исользовать «чистый» XHTML и не получится. Так что думаю не стоит и пытаться. -
Argnist
Сообщения:
130
Репутация:
N
Группа:
Кто попало
-
md5
Сообщения:
11960
Репутация:
N
Группа:
в ухо
-
adw0rd
Сообщения:
22959
Репутация:
N
Группа:
в ухо
24 августа 2007 г. 14:04, спустя 19 минут 38 секунд
рекомендую для начала использовать XHTML 1.0 Transitional (переходный) — предназначен для лёгкой миграции из HTML 3.2 и для тех, кто использует инлайн-фрэймы. ИМХО переходить стоит!
http://ru.wikipedia.org/wiki/XHTML
https://smappi.org/ — платформа по созданию API на все случаи жизни
-
Геннадий
Сообщения:
29
Репутация:
N
Группа:
Кто попало
-
adw0rd
Сообщения:
22959
Репутация:
N
Группа:
в ухо
24 августа 2007 г. 14:35, спустя 19 минут 44 секунды
Аргументируй, чем именно XHTML лучше?
А по ссылке перейти сложно?
Цитата с http://ru.wikipedia.org/wiki/XHTML
Преимущества
* Для XHTML можно применять множество технологий разработанных для XML. Например, XSLT и XPath.
* Анализ XHTML проще и быстрее, чем HTML. Поскольку синтаксис XML строже, чем SGML, обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами.Различия между XHTML и HTML
* Все элементы должны быть закрыты. Теги, которые не имеют закрывающего тега (например, <img> или <br>) должны иметь на конце / (например, <br />).
* Булевы атрибуты записываются в развёрнутой форме. Например, следует писать <option selected=»selected»> или <td nowrap=»nowrap»>.
* Все значения атрибутов обязательно должны быть заключены в двойные кавычки.
* Имена тегов и атрибутов должны быть записаны строчными буквами (например, <img alt=»» /> вместо <IMG ALT=»» />).
* XHTML гораздо строже относится к ошибкам в коде; < и & везде, даже в URL, должны замещаться < и & соответственно. По рекомендации W3C браузеры, встретив ошибку в XHTML, должны сообщить о ней и не обрабатывать документ. Для HTML браузеры должны были попытаться понять, что хотел сказать автор.
* Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).Отличия переходного (англ. transitional) XHTML от HTML незначительны и предназначены лишь для приведения его в соответствие с XML. Остальные версии отличаются лишь набором тегов.
В том случае, если MIME-тип — text/html (а это чаще всего и есть значение по умолчанию), все современные браузеры поддерживают XHTML. Он также совместим и со старыми браузерами, т. к. в основе XHTML лежит HTML.
Однако если автор страницы задал MIME-тип как application/xhtml+xml, браузер Internet Explorer 6 не сможет обрабатывать страницу, поскольку у него нет XML-парсера. Это одна из причин, замедляющих процесс перехода от HTML к XHTML.
Впрочем, проблема с MIME-типом легко решается при помощи простого PHP-скрипта, меняющего пресловутый MIME-тип в зависимости от пользовательского агента.
https://smappi.org/ — платформа по созданию API на все случаи жизни
-
Геннадий
Сообщения:
29
Репутация:
N
Группа:
Кто попало
24 августа 2007 г. 14:47, спустя 12 минут 11 секунд
А по ссылке перейти сложно?
Я имею в виду твое личное мнение. Я могу тебе дать ссылки где пишут что у XHTML недостатков больше чем реальной от него пользы.
-
adw0rd
Сообщения:
22959
Репутация:
N
Группа:
в ухо
24 августа 2007 г. 15:04, спустя 16 минут 43 секунды
Я имею в виду твое личное мнение. Я могу тебе дать ссылки где пишут что у XHTML недостатков больше чем реальной от него пользы.
Виноват, не так понял
Мое мнение:
1. Для XHTML можно применять множество технологий разработанных для XML. Например, XSLT и XPath.
2. Анализ XHTML проще и быстрее, чем HTML. Поскольку синтаксис XML строже, чем SGML
3. Обработка XHTML возможна даже на мобильных телефонах с малыми ресурсами. (я раньше в вапе порталы строил и привык к XHTML)
4. При HTML’е браузеры стали докуя умные, все прощают кривым верстальщикам (кривость рук и банальное недознание меня просто поражает, я буквально прихожу в бешенство)… XHTML строже и внесет ясность в будущем (при неправильно сформированной верстке просто не будет загружатся страница, но это при согласии с разработчиками браузеров, хотя стандарт XHTML Strict обязывает их этому).И ИМХО HTML вымрет безнадежно
https://smappi.org/ — платформа по созданию API на все случаи жизни
This article can help you resolve scenarios in which Python command execution fails with an AttributeError.
Problem: ‘tuple’ object has no attribute ‘type’
When you run a notebook, Python command execution fails with the following error and stack trace:
AttributeError: 'tuple' object has no attribute 'type'
Traceback (most recent call last): File "/local_disk0/tmp/1547561952809-0/PythonShell.py", line 23, in <module> import matplotlib as mpl File "/databricks/python/local/lib/python2.7/site-packages/matplotlib/__init__.py", line 122, in <module> from matplotlib.cbook import is_string_like, mplDeprecation, dedent, get_label File "/databricks/python/local/lib/python2.7/site-packages/matplotlib/cbook.py", line 33, in <module> import numpy as np File "/databricks/python/local/lib/python2.7/site-packages/numpy/__init__.py", line 142, in <module> from . import core File "/databricks/python/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 57, in <module> from . import numerictypes as nt File "/databricks/python/local/lib/python2.7/site-packages/numpy/core/numerictypes.py", line 111, in <module> from ._type_aliases import ( File "/databricks/python/local/lib/python2.7/site-packages/numpy/core/_type_aliases.py", line 63, in <module> _concrete_types = {v.type for k, v in _concrete_typeinfo.items()} File "/databricks/python/local/lib/python2.7/site-packages/numpy/core/_type_aliases.py", line 63, in <setcomp> _concrete_types = {v.type for k, v in _concrete_typeinfo.items()} AttributeError: 'tuple' object has no attribute 'type' 19/01/15 11:29:26 WARN PythonDriverWrapper: setupRepl:ReplId-7d8d1-8cc01-2d329-9: at the end, the status is Error(ReplId-7d8d1-8cc01-2d329-,com.databricks.backend.daemon.driver.PythonDriverLocal$PythonException: Python shell failed to start in 30 seconds)
Cause
A newer version of numpy (1.16.1), which is installed by default by some PyPI clients, is incompatible with other libraries.
Solution
Follow the steps below to create a cluster-scoped init script (AWS | Azure | GCP) that removes the current version and installs version 1.15.0 of numpy.
- If the init script does not already exist, create a base directory to store it:
%python dbutils.fs.mkdirs("dbfs:/databricks/<directory>/")
- Create the following script:
%python dbutils.fs.put("dbfs:/databricks/<directory>/numpy.sh",""" #!/bin/bash pip uninstall --yes numpy rm -rf /home/ubuntu/databricks/python/lib/python3.5/site-packages/numpy* rm -rf /databricks/python/lib/python3.5/site-packages/numpy* /usr/bin/yes | /home/ubuntu/databricks/python/bin/pip install numpy==1.15.0 """,True)
- Confirm that the script exists:
%python display(dbutils.fs.ls("dbfs:/databricks/<directory>/numpy.sh"))
- Go to the cluster configuration page (AWS | Azure | GCP) and click the Advanced Options toggle.
- At the bottom of the page, click the Init Scripts tab:
- In the Destination drop-down, select DBFS, provide the file path to the script, and click Add.
- Restart the cluster.
- In your PyPI client, pin the numpy installation to version 1.15.1, the latest working version.
Problem: module ‘lib’ has no attribute ‘SSL_ST_INIT’
When you run a notebook, library installation fails and all Python commands executed on the notebook are cancelled with the following error and stack trace:
AttributeError: module 'lib' has no attribute 'SSL_ST_INIT'
Traceback (most recent call last): File "/databricks/python3/bin/pip", line 7, in <module> from pip._internal import main File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/__init__.py", line 40, in <module> from pip._internal.cli.autocompletion import autocomplete File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module> from pip._internal.cli.main_parser import create_main_parser File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/cli/main_parser.py", line 12, in <module> from pip._internal.commands import ( File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/commands/__init__.py", line 6, in <module> from pip._internal.commands.completion import CompletionCommand File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/commands/completion.py", line 6, in <module> from pip._internal.cli.base_command import Command File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/cli/base_command.py", line 20, in <module> from pip._internal.download import PipSession File "/databricks/python3/lib/python3.5/site-packages/pip/_internal/download.py", line 15, in <module> from pip._vendor import requests, six, urllib3 File "/databricks/python3/lib/python3.5/site-packages/pip/_vendor/requests/__init__.py", line 97, in <module> from pip._vendor.urllib3.contrib import pyopenssl File "/databricks/python3/lib/python3.5/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 46, in <module> import OpenSSL.SSL File "/databricks/python3/lib/python3.5/site-packages/OpenSSL/__init__.py", line 8, in <module> from OpenSSL import rand, crypto, SSL File "/databricks/python3/lib/python3.5/site-packages/OpenSSL/SSL.py", line 124, in <module> SSL_ST_INIT = _lib.SSL_ST_INIT AttributeError: module 'lib' has no attribute 'SSL_ST_INIT'
Cause
A newer version of the cryptography package (in this case, 2.7) was installed by default along with another PyPI library, and this cryptography version is incompatible with the version of pyOpenSSL included in Databricks Runtimes.
Solution
To resolve and prevent this issue, upgrade pyOpenSSL to the most recent version before you install any library. Use a cluster-scoped init script (AWS | Azure | GCP) to install the most recent version of pyOpenSSL:
- If the init script does not already exist, create a base directory to store it:
%python dbutils.fs.mkdirs("dbfs:/databricks/<directory>/")
- Create the following script:
%python dbutils.fs.put("dbfs:/databricks/<directory>/openssl_fix.sh",""" #!/bin/bash echo "Removing pyOpenSSL package" rm -rf /databricks/python2/lib/python2.7/site-packages/OpenSSL rm -rf /databricks/python2/lib/python2.7/site-packages/pyOpenSSL-16.0.0-*.egg-info rm -rf /databricks/python3/lib/python3.5/site-packages/OpenSSL rm -rf /databricks/python3/lib/python3.5/site-packages/pyOpenSSL-16.0.0*.egg-info /databricks/python2/bin/pip install pyOpenSSL==19.0.0 /databricks/python3/bin/pip3 install pyOpenSSL==19.0.0 """, True)
- Confirm that the script exists:
%python display(dbutils.fs.ls("dbfs:/databricks/<directory>/openssl_fix.sh"))
- Go to the cluster configuration page (AWS | Azure | GCP) and click the Advanced Options toggle.
- At the bottom of the page, click the Init Scripts tab:
- In the Destination drop-down, select DBFS, provide the file path to the script, and click Add.
- Restart the cluster.
Solution reference:Get the mean from a list of tensors
Problem background
Recently running a Siamese-FC recurring program, the configuration is python2.7+pytorch0.4, Pytorch1.0 was installed before, the version download was slowed down several times, and finally I chose to solve this problem under Pytorch1.0 version. .
Problem Description
project address:https://github.com/zzwang058/SiamFC-PyTorch
is running run_Train_SiamFC.py
print ("Epoch %d training loss: %f, validation loss: %f" % (i+1, np.mean(train_loss), np.mean(val_loss)))
Is the problem with Pytorch 1.0, seems to be because of the average of the tensor?
The solution is as follows:
Replace np.mean(a) with torch.mean(torch.stack(a))
root@548977c7dc-62l72:/app# pip list | grep pandas
pandas 1.0.3
In ipython ,i try initializing df
`
In [1]: import pandas as pd
In [2]: pd.DataFrame([],columns=[‘a’,’b’,’c’])
AttributeErrorTraceback (most recent call last)
in
—-> 1 pd.DataFrame([],columns=[‘clicks’, ‘uclicks’, ‘impressions’])
/usr/local/lib/python3.8/site-packages/pandas/core/frame.py in init(self, data, index, columns, dtype, copy)
488 mgr = init_ndarray(data, index, columns, dtype=dtype, copy=copy)
489 else:
—> 490 mgr = init_dict({}, index, columns, dtype=dtype)
491 else:
492 try:
/usr/local/lib/python3.8/site-packages/pandas/core/internals/construction.py in init_dict(data, index, columns, dtype)
237 else:
238 nan_dtype = dtype
—> 239 val = construct_1d_arraylike_from_scalar(np.nan, len(index), nan_dtype)
240 arrays.loc[missing] = [val] * missing.sum()
241
/usr/local/lib/python3.8/site-packages/pandas/core/dtypes/cast.py in construct_1d_arraylike_from_scalar(value, length, dtype)
1438 else:
1439 if not isinstance(dtype, (np.dtype, type(np.dtype))):
-> 1440 dtype = dtype.dtype
1441
1442 if length and is_integer_dtype(dtype) and isna(value):
AttributeError: type object ‘object’ has no attribute ‘dtype’
`