


Saya amat berpuas hati dengan persediaan emacs semasa saya untuk Python, tetapi saya mendapati persediaan agak rumit. Saya akan mendokumenkan persediaan saya di sini untuk diri saya pada masa hadapan dan untuk mana-mana Pythonista lain yang mencari konfigurasi emac yang kukuh.
Mengapa basedpyright?
Sehingga ke tahap ini, saya telah menggunakan mypy --strict pada baris arahan untuk semua keperluan semakan taip saya, tetapi mypy agak perlahan walaupun untuk pangkalan kod yang sangat kecil, malah dalam mod --strict ia bukan seperti tegas mungkin. Ia juga bukan pelayan bahasa, yang saya mahukan untuk persediaan emacs saya.
basedpyright ialah garpu pyright dengan beberapa peningkatan yang sangat baik dalam kedua-dua semakan dan dalam kebolehpercayaan. Ia adalah penyemak taip yang pantas dan sangat ketat dengan beberapa keupayaan linting yang baik sebagai tambahan.
Satu-satunya kelemahan yang saya alami ialah ia tidak bermain dengan baik seperti mypy dengan pelanggan boto3-stubs untuk AWS dan ia menggunakan # pyright: abaikan komen dan bukannya standard # type: abaikan komen, tetapi Saya boleh menghadapi isu tersebut demi pengalaman semakan jenis yang ketat.
Mengkonfigurasi projek Puisi anda untuk berfungsi dengan basedpyright atau pyright
Jika anda mempunyai projek sedia ada yang menggunakan Puisi, anda pasti mahu bermain-main sedikit dengan persekitaran maya anda.
Pergi ke akar setiap projek anda dan jalankan arahan berikut:
poetry config --local virtualenvs.in-project true
Ini akan mencipta fail poetry.toml jika fail itu belum wujud dan menambah tetapan yang sepadan.
Ini, walau bagaimanapun, akan tidak sebenarnya menggerakkan persekitaran maya anda yang sedia ada. Untuk membolehkan perubahan ini berkuat kuasa, anda perlu mengalih keluar persekitaran maya sedia ada anda, yang boleh anda temui dengan menjalankan
poetry env info --path
Jangan lupa tambahkan laluan .venv ke .gitignore anda dan konfigurasi untuk sebarang alatan lain yang mungkin anda gunakan, seperti pycodestyle, atau anda akan mendapat agak huru-hara.
Seterusnya, anda harus menambah bahagian konfigurasi pada pyproject.toml anda untuk memberitahu basedpyright tempat mencari persekitaran maya anda.
[tool.pyright] venv=".venv" venvPath="."
Anda juga boleh melakukan ini dalam fail pyrightconfig.json jika, tidak seperti saya, anda masih belum berasa terlalu sibuk dengan fail konfigurasi untuk alatan pembangunan Python yang berbeza.
Memasang basedpyright sebagai pelayan bahasa
Satu perkara yang sangat menarik tentang basedpyright berbanding pyright ialah ia membina kebergantungan nodejs sebagai roda, jadi anda boleh yakin bahawa basedpyright harus berfungsi pada mesin anda tidak kira sama ada anda telah memasang nodejs.
Untuk pengasingan, biasanya idea yang baik untuk memasang pakej Python boleh laku menggunakan pipx dan bukannya pip. Mari teruskan dan lakukan itu .
pipx install basedpyright
Untuk pemeriksaan kewarasan, pertimbangkan untuk berlari
basedpyright --version
Memasang basedpyright juga memberi anda akses kepada arahan basedpyright-langserver, tetapi itu tidak benar-benar ditulis untuk pengguna berinteraksi, jadi jika anda menjalankanbasedpyright-langserver ataubasedpyright-langserver --version atau sesuatu, anda akan mendapat surih tindanan nodejs.
Mengkonfigurasi emac untuk menggunakan basedpyright-langserver
Saya akan menganggap anda sebagai pembaca tahu cara memasang pakej daripada MELPA dan mempunyai cara pilihan untuk melakukannya. Berikut adalah semua pakej yang anda perlukan:
- syarikat
- mod-lsp
- lsp-pyright
- lsp-ui
- mod-python
Dapatkan yang dipasang dan kemudian buka ~/.emacs anda atau ~/.emacs.d/init.el anda dan tambahkan yang berikut:
;; lsp global settings (add-hook 'after-init-hook 'global-company-mode) (setq lsp-auto-guess-root t) ;; python (require 'lsp-mode) (setq lsp-pyright-langserver-command "basedpyright") (add-hook 'python-mode-hook (lambda () (require 'lsp-pyright) (lsp)))
Sepatutnya itu sahaja yang anda perlukan.
Petua umum untuk menyahpepijat mod lsp
Jika anda rasa anda telah menyediakan semuanya dengan betul dan anda masih menghadapi masalah mendapatkan mod lsp untuk mencari pakej yang sepatutnya tersedia dalam Puisi, satu perkara yang anda mungkin cuba ialah masuk dan memadam anda ~/.emacs.d/.lsp-session-v1. Ini akan mempunyai kesan menyebabkan mod lsp melupakan akar projek dan memaksanya mencarinya semula.
Selamat mengekod!
Saya harap ini telah memberi anda permulaan yang baik pada persekitaran pembangunan Python anda. Jika anda mempunyai sebarang soalan, saya seorang pemula dengan semua ini, dan saya mungkin tidak dapat membantu anda, tetapi saya akan mempertimbangkan permintaan gabungan jika anda mempunyai sebarang petua atau helah tambahan untuk menggunakan basedpyright dengan emacs.
Atas ialah kandungan terperinci Emacs untuk Python dan Puisi Menggunakan `basedpyright-langserver`. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

Memuatkan Fail Pickle di Python 3.6 Kesalahan Laporan Alam Sekitar: ModulenotFoundError: Nomodulenamed ...


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

mPDF
mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.