4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

scrapyの導入と標準入出力で躓いたこと

Posted at

結論

  1. ライブラリのインスコ
  2. Pythonの再インスコ
  3. 環境変数の設定

環境

  • CentOS 6
  • Python 3.6.4
  • Scrapy 1.5.0

経緯

Scrapyを仮想環境で試そうとしたところ、環境を整え直す羽目になったのでφ(..)メモメモと。

発生した問題

ModuleNotFoundError: No module named ‘_sqlite3'

scrapy shellを実行したところ、以下のエラーが発生。
SQLite3の開発用ツールとPython3の再インスコが必要。

ModuleNotFoundError
()
  File "/home/vagrant/.pyenv/versions/3.6.4/lib/python3.6/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'

標準入出力の文字化け

cssセレクタを使い日本語の抽出を行ったところ、文字化けが発生。
こちらは環境変数でエンコーディングの指定が必要。

対応方法

ModuleNotFoundError: No module named ‘_sqlite3'

SQLite開発用ツールを入れた後改めて、Pythonのコンパイル、インストール。

sudo yum install sqlite-devel -y
sudo rm -rf ~/.pyenv/shims/
/bin/bash -lc "pyenv install 3.6.4 && pyenv rehash && pyenv global 3.6.4"

標準入出力の文字化け

標準入力/標準出力/標準エラー出力用環境変数の上書き指定。
bashrcに追記。

export PYTHONIOENCODING=utf-8

参考

http://yoshida-ahiru.hatenablog.com/entry/2017/08/13/020007
https://qiita.com/methane/items/6e294ef5a1fad4afa843
https://docs.python.org/ja/3.6/using/cmdline.html#envvar-PYTHONIOENCODING

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?