Saya sedang mengerjakan Scrapy 0.20 dengan Python 2.7. Saya menemukan PyCharm memiliki debugger Python yang bagus. Saya ingin menguji laba-laba Scrapy saya menggunakannya. Adakah yang tahu bagaimana melakukannya?
Apa yang telah saya coba
Sebenarnya saya mencoba menjalankan laba-laba sebagai skrip. Hasilnya, saya membuat skrip itu. Kemudian, saya mencoba menambahkan proyek Scrapy saya ke PyCharm sebagai model seperti ini:File->Setting->Project structure->Add content root.
Tapi saya tidak tahu apa lagi yang harus saya lakukan
ImportError: No module named settings
Saya telah memeriksa bahwa direktori kerja adalah direktori proyek. Ini digunakan dalam proyek Django. Adakah orang lain yang tersandung pada masalah ini?Working directory
no active project, Unknown command: crawl, Use "scrapy" to see available commands, Process finished with exit code 2
Anda hanya perlu melakukan ini.
Buat file Python pada folder crawler di proyek Anda. Saya menggunakan main.py.
Di dalam main.py Anda, letakkan kode ini di bawah.
Dan Anda perlu membuat "Run Configuration" untuk menjalankan main.py Anda.
Melakukan ini, jika Anda meletakkan breakpoint pada kode Anda, itu akan berhenti di situ.
sumber
Pada 2018.1 ini menjadi jauh lebih mudah. Sekarang Anda dapat memilih
Module name
di proyek AndaRun/Debug Configuration
. Setel ini kescrapy.cmdline
danWorking directory
ke direktori root dari proyek scrapy (yang dengansettings.py
di dalamnya).Seperti:
Sekarang Anda dapat menambahkan breakpoint untuk men-debug kode Anda.
sumber
Saya menjalankan scrapy di virtualenv dengan Python 3.5.0 dan mengatur parameter "script" untuk
/path_to_project_env/env/bin/scrapy
memecahkan masalah bagi saya.sumber
project/crawler/crawler
, yaitu, direktori yang menampung__init__.py
.Ide intellij juga berhasil.
create main.py :
tunjukkan di bawah:
sumber
Untuk menambahkan sedikit ke jawaban yang diterima, setelah hampir satu jam saya menemukan bahwa saya harus memilih Konfigurasi Jalankan yang benar dari daftar tarik-turun (di dekat bagian tengah bilah alat ikon), lalu klik tombol Debug untuk membuatnya berfungsi. Semoga ini membantu!
sumber
Saya juga menggunakan PyCharm, tetapi saya tidak menggunakan fitur debugging bawaannya.
Untuk debugging yang saya gunakan
ipdb
. Saya menyiapkan pintasan keyboard untuk disisipkanimport ipdb; ipdb.set_trace()
pada baris mana pun yang saya inginkan agar titik putusnya terjadi.Kemudian saya dapat mengetik
n
untuk menjalankan pernyataan berikutnya,s
untuk masuk ke dalam suatu fungsi, ketik nama objek apa pun untuk melihat nilainya, mengubah lingkungan eksekusi, ketikc
untuk melanjutkan eksekusi ...Ini sangat fleksibel, bekerja di lingkungan selain PyCharm, di mana Anda tidak mengontrol lingkungan eksekusi.
Cukup ketikkan di lingkungan virtual Anda
pip install ipdb
dan tempatkanimport ipdb; ipdb.set_trace()
di baris tempat Anda ingin menjeda eksekusi.sumber
Menurut dokumentasi https://doc.scrapy.org/en/latest/topics/practices.html
sumber
Saya menggunakan skrip sederhana ini:
sumber
Memperluas versi jawaban @ Rodrigo Saya menambahkan skrip ini dan sekarang saya dapat mengatur nama laba-laba dari konfigurasi alih-alih mengubah dalam string.
sumber