Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2024, 07:12   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию Проблема с импортом textract и PyRTF3

у меня импорты textract и PyRTF3 не захотели работать, я получал ошибки: No module named textract и PyRTF3. Я решил проблему решить не телодвижениями, а кодом, имеется код:
Код:
import os
import subprocess
import venv
import sys
def create_virtual_environment():
    venv.create("my_env")
def activate_virtual_environment():
    activate_script = os.path.join("my_env", "Scripts" if sys.platform == "win32" else "bin", "activate")
    subprocess.call([activate_script], shell=True)
def create_requirements_file():
    current_dir = os.path.dirname(__file__)
    requirements_file = os.path.join(current_dir, 'requirements.txt')
    with open(requirements_file, 'w') as f:  # Запись с перезаписью
        f.write('textract==1.7.0\nPyRTF3==0.1.3')
def install_requirements():
    subprocess.call(['pip', 'install', '-r', 'requirements.txt'])
# Создаем виртуальную среду
create_virtual_environment()
# Активируем виртуальную среду
activate_virtual_environment()
# Создаем файл requirements.txt
create_requirements_file()
# Устанавливаем пакеты
install_requirements()
print('Конец')
насколько я понимаю этим кодом создастся новое окружение и туда встанут пакеты, я запустил код и не помогло, строки:
textract==1.7.0
PyRTF3==0.1.3
в файле requirements.txt есть, также папка my_env создана, а толку нет, можно решить эту проблему кодом? как?
2
и так как в файле requirements.txt у меня других строк более нет, это что значит, что другие импорты не будут работать? ну пока import re работает - а там видно будет.
Ципихович Эндрю вне форума Ответить с цитированием
Старый 19.08.2024, 09:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,831
По умолчанию

А почему должно? Таких версий нет в репозиториях.
https://pypi.org/project/textract/ 1.6.5
https://pypi.org/project/PyRTF3/ 0.47.5
p51x вне форума Ответить с цитированием
Старый 19.08.2024, 09:12   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

ок изменил
Код:
f.write('textract==1.6.5\nPyRTF3==0.47.5')
не помогло..
проблема как я понимаю с окружениями\виртулизациями всевозможными, в коих я НЕ понимаю и обычно это решают ручками, как по мне при моём непонимании - лучше кодом
Ципихович Эндрю вне форума Ответить с цитированием
Старый 20.08.2024, 08:00   #4
MallSerg
 
Аватар для MallSerg
 
Регистрация: 17.08.2024
Сообщений: 9
По умолчанию

Сначала плагин для офиса затем формирование rtf.
Похоже ты очень долго пытаешься решить проблему формирования/изменения печатного документа довольно странными способами.

Не проще ли полностью озвучить основную задачу, затем способы которыми ты пытаешься ее решить?

А то по отрывкам ничего непонятно ))
MallSerg вне форума Ответить с цитированием
Старый 20.08.2024, 09:35   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

Цитата:
Сообщение от MallSerg Посмотреть сообщение
озвучить основную задачу
это сабж
остальное по мере поступления проблем...
Ципихович Эндрю вне форума Ответить с цитированием
Старый 20.08.2024, 10:45   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,831
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
не помогло..
Тоже No module или что?

Код:
subprocess.call(['pip', 'install', '-r', 'requirements.txt'])
Не сработает. Вам надо вызвать
Код:
my_env/bin/python -m pip install -r requirements.txt
p51x вне форума Ответить с цитированием
Старый 20.08.2024, 11:23   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
No module или что?
да
No module textract
No module PyRTF3
Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
subprocess.call(['pip', 'install', '-r', 'requirements.txt'])
Не сработает. Вам надо вызвать
Код:
my_env/bin/python -m pip install -r requirements.txt
Код:
subprocess.call(['my_env/bin/python', '-m', 'pip', 'install', '-r', 'requirements.txt'])
так?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 20.08.2024, 11:46   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,831
По умолчанию

Судя по гитхабу textract, у него куча проблем с установкой на новых версиях pip и python. Советую запустить из консоли установку и посмотреть вывод, там скорее всего будет ошибка.
p51x вне форума Ответить с цитированием
Старый 20.08.2024, 14:34   #9
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

пока рабочий код:
Код:
file_name = r'I:/Скачано с Хроме/ПДД.rtf'
import tika  # pip install tika
from tika import parser
rtf_text = parser.from_file(file_name)
print(rtf_text['content'])
Ципихович Эндрю вне форума Ответить с цитированием
Старый 21.08.2024, 16:34   #10
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,167
По умолчанию

здравствуйте в продолжение разговора
как узнать количество таблиц в rtf файле?, читаю файл так, как указано в посту № 9, спасибо
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с импортом класса Seventimes Perl 1 29.09.2024 13:38
Проблемы с импортом. Tinezar Python 0 29.11.2018 21:26
Проблема с импортом БД henzo Фриланс 0 08.03.2011 13:30
Проблема с импортом БД zox Помощь студентам 0 03.04.2010 12:45
Помогите с импортом из web smith45 Microsoft Office Excel 6 06.08.2009 10:43