6 августа 2024
T M 1. перенести на другой пк для быстрой работы и усложнить возможность декомпиляции. 2. Краш лог на 11к строк, но вот начало: <?xml version='1.0' encoding='utf8'?> <nuitka-compilation-report nuitka_version="2.4.5" nuitka_commercial_version="not installed" completion="exception"> <exception exception_type="UnicodeDecodeError" exception_value="'utf-8' codec can't decode byte 0xcf in position 519286: invalid continuation byte"> Traceback (most recent call last): File "D:\IT\project\.venv\Lib\site-packages\nuitka\MainControl.py", line 1155, in main _main() File "D:\IT\project\.venv\Lib\site-packages\nuitka\MainControl.py", line 1004, in _main result, scons_options = compileTree() ^^^^^^^^^^^^^ File "D:\IT\project\.venv\Lib\site-packages\nuitka\MainControl.py", line 919, in compileTree result, scons_options = runSconsBackend() ^^^^^^^^^^^^^^^^^ File "D:\IT\project\.venv\Lib\site-packages\nuitka\MainControl.py", line 767, in runSconsBackend runScons( File "D:\IT\project\.venv\Lib\site-packages\nuitka\build\SconsInterface.py", line 403, in runScons checkCachingSuccess(source_dir or options["source_dir"]) File "D:\IT\project\.venv\Lib\site-packages\nuitka\build\SconsCaching.py", line 336, in checkCachingSuccess stats = _getCcacheStatistics(ccache_logfile) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\IT\project\.venv\Lib\site-packages\nuitka\build\SconsCaching.py", line 282, in _getCcacheStatistics for line in getFileContentByLine(ccache_logfile, encoding="utf8"): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\IT\project\.venv\Lib\site-packages\nuitka\utils\FileOperations.py", line 793, in getFileContentByLine return getFileContents(filename, mode, encoding=encoding).splitlines() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\IT\project\.venv\Lib\site-packages\nuitka\utils\FileOperations.py", line 811,
Возникает на этом моменте: лог из консоли
Nuitka: Running C compilation via Scons.
Nuitka-Scons: Backend C compiler: gcc (gcc 13.2.0).
Nuitka-Scons: Backend linking program with 409 files (no progress information available for this stage).
Traceback (most recent call last):
File "D:\IT\project\.venv\Lib\site-packages\nuitka\__main__.py", line 206, in <module>
main()
Тэкс я разобрался как это пофиксить но я не понял почему так. Объясните кто шарит.
1. Команда для компиляции при которой была ошибка:
nuitka --standalone --mingw64 --onefile --include-data-file=icon.png=icon.png --include-module=tg_bot --include-module=settings --include-module=telegram --include-module=utils --windows-uac-admin --output-filename=file.exe --output-dir=output main.py
Я решил исключить модули и попробовать скомпилировать в надежде на то, что запуститься хотябы мейн и выдаст ошибку о отсутсвии функции из другого пу файла.
nuitka --standalone --mingw64 --onefile --include-data-file=icon.png=icon.png --windows-uac-admin --output-filename=file.exe --output-dir=output main.py
И о чудо оно скомпилировалось. Я запустил и все работает, т.е. оно подхватывает функции которые я не включал в импорт в экзе. Вопрос как так ?
Подскажите еще вопросик я уже все излазил но никак не могу адекватно запустить видео в браузере на QWebEngineView. А именно не грузит видео в тикток и не грузят фильмы на сайтах ни на кинопоиске ни на пиратских сайтах. Единственное решение что я нашел это либа webview, на ней все идеально работает. Но она меня не устраивает тем, что я не могу прикрутить пользовательский GUI к окну webview.
Слаживается впечатление что я делаю что-то не так в PyQT6. Ибо не может такая большая либа не воспроизводить видео
webview где все работает
import webview
def main():
url = 'https://www.google.com'
window = webview.create_window('Web Viewer', url, width=800, height=600)
webview.start()
if __name__ == '__main__':
main()
pyqt6 где не работает тикток и фильмы
from PyQt6.QtCore import QUrl
from PyQt6.QtWebEngineWidgets import QWebEngineView
from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
import sys
class MiniBrowser(QMainWindow):
def __init__(self):
super().__init__()
self.browser = QWebEngineView()
self.browser.setUrl(QUrl("https://www.google.com"))
central_widget = QWidget()
layout = QVBoxLayout()
layout.addWidget(self.browser)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
self.setWindowTitle("Mini Browser")
self.resize(1024, 768)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MiniBrowser()
window.show()
sys.exit(app.exec())
from binance.client import Client
import pandas as pd
import datetime
import pytz
# Binance API credentials
api_key = 'your_api_key'
api_secret = 'your_api_secret'
client = Client(api_key, api_secret)
# Define the symbol for ETH/USDT pair
symbol = 'ETHUSDT'
# Define custom start and end time in UTC
utc_zone = pytz.utc
start_time = datetime.datetime(2023, 1, 1, 0, 0, 0, tzinfo=utc_zone)
end_time = datetime.datetime(2023, 1, 1, 23, 59, 59, tzinfo=utc_zone)
# Fetch minute level kline data for ETH/USDT for January 1st, 2023
klines = client.get_historical_klines(symbol=symbol, interval=Client.KLINE_INTERVAL_1MINUTE, start_str=start_time.isoformat(), end_str=end_time.isoformat())
# Convert the data into a pandas dataframe
df = pd.DataFrame(klines, columns=['Open Time', 'Open', 'High', 'Low', 'Close', 'Volume', 'Close Time', 'Quote Asset Volume', 'Number of Trades', 'Taker Buy Base Asset Volume', 'Taker Buy Quote Asset Volume', 'Ignore'])
# Convert relevant columns to floats
columns_to_convert = ['Open', 'High', 'Low', 'Close', 'Volume']
df[columns_to_convert] = df[columns_to_convert].astype(float)
# Calculate the weighted average trade price
df['Weighted Price'] = df['Close'] * df['Volume']
weighted_average_price = df['Weighted Price'].sum() / df['Volume'].sum()
print(f"Weighted average trade price for ETH/USDT on January 1st, 2023: {weighted_average_price}")
# Calculate and print the sum of the first 8 digits after the comma
sum_of_digits = sum(int(digit) for digit in f"{weighted_average_price:.8f}".split('.')[1][:8])
print(f"Sum of the first 8 digits after the comma: {sum_of_digits}")
менял и время и никак не получается сумма 37
Менял и часовой пояс и время ставил разное по типу
start_time = datetime.datetime(2023, 1, 1, 0, 0, 0)
end_time = datetime.datetime(2023, 1, 2, 0, 0, 0)
и такое пробовал
start_time = datetime.datetime(2023, 1, 1, 0, 0, 0)
end_time = datetime.datetime(2023, 1, 1, 23, 59, 59)
Ребята, подскажите пожалуйста, сильно тупанул в проекте, не указывал абсолютный путь и не юзал pathlib, на винде все файлы программа спокойно находит, но когда я переставил все это серв, я начал получать ошибку типо данного пути не существует, как я понимаю почему то у меня на linux сервере место рабочего файла не ставится как рабочий каталог и эти же относительные пути он найти не может
L