質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

12927閲覧

import文でのpylanceによる警告

Kota_Sato

総合スコア4

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/06/11 07:31

編集2021/06/11 09:10

前提・実現したいこと

pylanceによるimport文のエラーをなくしきちんとコードを補完してほしい
vscodeでどの階層からウィンドを開いても以下のエラーが出てこないようにしたい

発生している問題・エラーメッセージ

Import "l_package.talk" could not be resolved Pylance

該当のソースコード

import文があるファイルよりも浅い階層でvscodeを開いたとき赤波線でエラーが出てしまいます。
コード自体は正常に動作します。
イメージ説明
逆にimport文がある階層でvscodeの新規ウィンドを開くと該当エラーは出てこず、またコード補完も適切に行なってくれます(try節のエラーは気にしないでください)。
イメージ説明

試したこと

エラーメッセージをコピペして調べsetting.jsonの変更なども行いましたがこのエラー分は消えませんでした
ワークスペースのディレクトリにsetting.jsonを作成してみた
setting.jsonに項目を追加
このリンクの通りvscodeで開くディレクトリの階層を変更するとこのエラーが出ないことは確認できました

setting.jsonの内容

{ "files.trimFinalNewlines": true, "files.insertFinalNewline": true, "files.trimTrailingWhitespace": true, "editor.formatOnPaste": true, "editor.formatOnSave": true, "workbench.iconTheme": "material-icon-theme", "editor.fontSize": 16, "workbench.startupEditor": "newUntitledFile", "editor.tabSize": 2, "editor.wordWrap": "on", "editor.detectIndentation": false, "files.autoGuessEncoding": true, "liveServer.settings.CustomBrowser": "chrome", "liveServer.settings.donotVerifyTags": true, "workbench.editor.enablePreview": false, "[html]": { "editor.defaultFormatter": "vscode.html-language-features" }, "explorer.confirmDelete": false, "explorer.confirmDragAndDrop": false, "beautify.language": { "js": { "type": [ "javascript", "json", "jsonc" ], "filename": [ ".jshintrc", ".jsbeautifyrc" ] }, "css": [ "css", "less", "scss" ], "html": [ "htm", "html", "erb" ] }, "files.associations": { "*.erb": "erb" }, "emmet.includeLanguages": { "erb": "html" }, "[css]": { "editor.defaultFormatter": "HookyQR.beautify" }, "ruby.lint": { "rubocop": true }, "ruby.rubocop.onSave": true, "ruby.format": "rubocop", "ruby.rubocop.executePath": "/opt/homebrew/opt/rbenv/shims/", "ruby.rubocop.configFilePath": "", "liveServer.settings.donotShowInfoMsg": true, "files.autoSave": "afterDelay", "emmet.triggerExpansionOnTab": true, "diffEditor.ignoreTrimWhitespace": false, "ruby.intellisense": "rubyLocate", "editor.formatOnType": true, "terminal.integrated.fontFamily": "Menlo", "editor.fontFamily": "Menlo", "[python]": { "editor.tabSize": 4, }, "python.insidersChannel": "weekly", "terminal.integrated.inheritEnv": false, "python.pythonPath": "/Users/satokota/opt/anaconda3/bin/python", "python.analysis.typeCheckingMode": "basic", "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.linting.flake8Args": [ "--max-line-length", "88", "--ignore=E203,W503,W504" ], "editor.codeActionsOnSave": { "source.organizeImports": true }, "workbench.editorAssociations": { "*.ipynb": "jupyter-notebook" }, "notebook.cellToolbarLocation": { "default": "right", "jupyter-notebook": "left" }, "window.zoomLevel": -1, "python.showStartPage": false, "python.languageServer": "Pylance" }

補足情報(FW/ツールのバージョンなど)

Mac(M1)
python --version 3.8.8
Python言語サーバー Pylance

よろしくお願い致します

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

参考にされているページの「Python言語サーバーがPylanceのとき」にある
"python.analysis.extraPaths" の設定が解決策です。

ワークスペース(python_training)の .vscode/setting.json に下記を追加します。
全体のsetting.jsonへの追加はおすすめできません。どうしてもやるなら絶対パスで書く必要があります。

json

1{ 2 "python.analysis.extraPaths": [ 3 "section6_module_package" 4 ], 5}

これをやると、他のsectionのディレクトリのスクリプトからl_packageをインポートしたときに、pylanceはエラーを指摘しないけど、pythonの実行ではエラーがでるということになるので、注意です。

vscodeで開くディレクトリの階層を変更するとこのエラーが出ないことは確認できました

面倒ですが、こうするのが、一番いいのかもしれません。

投稿2021/06/12 00:25

編集2021/06/12 00:31
bsdfan

総合スコア4567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kota_Sato

2021/06/12 04:14

ご回答ありがとうございます! うまくいきました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問