Ошибка импорта скрипта Ubuntu с использованием газетного модуля
У меня есть скрипт, который будет запускаться локально, но не на моем сервере Ubuntu. Другие сценарии работают нормально на обеих платформах, но этот конкретный скрипт выдает ошибку импорта, когда я пытаюсь запустить его в Ubuntu.
root@ip-xxx-xx-xx-xxx:~# /usr/bin/python3.5 /opt/script_folder/main.py
Traceback (most recent call last):
File "/opt/script_folder/main.py", line 2, in <module>
import process
File "/opt/script_folder/process.py", line 25, in <module>
from tools.getImages import getImages
File "/opt/script_folder/tools/getImages.py", line 5, in <module>
from newspaper import Article
File "/usr/local/lib/python3.5/site-packages/newspaper/__init__.py", line 10, in <module>
from .api import (build, build_article, fulltext, hot, languages,
File "/usr/local/lib/python3.5/site-packages/newspaper/api.py", line 14, in <module>
from .article import Article
File "/usr/local/lib/python3.5/site-packages/newspaper/article.py", line 15, in <module>
from . import network
File "/usr/local/lib/python3.5/site-packages/newspaper/network.py", line 14, in <module>
from .configuration import Configuration
File "/usr/local/lib/python3.5/site-packages/newspaper/configuration.py", line 15, in <module>
from .parsers import Parser
File "/usr/local/lib/python3.5/site-packages/newspaper/parsers.py", line 10, in <module>
import lxml.etree
ImportError: No module named 'lxml.etree'
Другие сценарии работают нормально, и у меня не было этой проблемы, пока я не попытался использовать библиотеку газет. Я попытался следующее:
- pip3 install --upgrade magazine3k
- pip3 install --upgrade lxml
- добавление /usr/local/lib/python3.5/site-packages в $PATH
- запуск и выключение виртуальной среды
- импорт lxml.etree непосредственно в скрипт
- работает на терминале python3.5 - ошибок нет
- apt-get удалить python3.5, pip3 удалить газета3k, pip3 установить газету3k, apt-get установить python3.5
- проверил разрешения папки site-packages
- проверил путь к библиотеке по умолчанию, который использует python3.5
- Убедитесь, что hashbang #! / usr / bin / env python3.5 находится вверху всех файлов
- sudo apt-get установить python-lxml
Я в тупике Любое руководство будет высоко ценится.
РЕДАКТИРОВАТЬ: Я также следовал инструкциям, перечисленным здесь: https://newspaper.readthedocs.io/en/latest/ Все загружено правильно, за исключением следующего:
root@ip-xxx-xx-xx-xxx:~# curl https://raw.githubusercontent.com/codelucas/newspaper/master/download_corpora.py | python3
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 100 657 100 657 0 0 9387 0 --:--:-- --:--:-- --:--:-- 10265
Traceback (most recent call last):
File "<stdin>", line 6, in <module>
File "/usr/local/lib/python3.5/site-packages/nltk/__init__.py", line 137, in <module>
from nltk.stem import *
File "/usr/local/lib/python3.5/site-packages/nltk/stem/__init__.py", line 29, in <module>
from nltk.stem.snowball import SnowballStemmer
File "/usr/local/lib/python3.5/site-packages/nltk/stem/snowball.py", line 32, in <module>
from nltk.corpus import stopwords
File "/usr/local/lib/python3.5/site-packages/nltk/corpus/__init__.py", line 66, in <module>
from nltk.corpus.reader import *
File "/usr/local/lib/python3.5/site-packages/nltk/corpus/reader/__init__.py", line 105, in <module>
from nltk.corpus.reader.panlex_lite import *
File "/usr/local/lib/python3.5/site-packages/nltk/corpus/reader/panlex_lite.py", line 15, in <module>
import sqlite3
File "/usr/local/lib/python3.5/sqlite3/__init__.py", line 23, in <module>
from sqlite3.dbapi2 import *
File "/usr/local/lib/python3.5/sqlite3/dbapi2.py", line 27, in <module>
from _sqlite3 import *
ImportError: No module named '_sqlite3'
0 ответов
Исходя из вашего поста, кажется, что проблема может быть в том, что среда ubuntu отличается от других (mac os?) локальных сред. Я предполагаю, что вы установили газету 3 для правильной установки в средах Mac OS, но не в Ubuntu?
Возможно, сначала попробуйте руководство в этом посте: ImportError: в python3.3 нет модуля с именем _sqlite3
Я думаю, что основная проблема заключается в том, что в вашей среде ubuntu отсутствуют некоторые важные базовые пакеты, которые требуются этим библиотекам python.
Или, может быть:
apt-get install sqlite3
sqlite3 -version
apt-get install python-pysqlite2
apt-get install python-pysqlite2-dbg
apt-get install libsqlite3-dev
apt-get install sqlite
pip install pysqlite