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

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

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

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

Q&A

解決済

4回答

10449閲覧

PCのOneDrive上のフォルダ―でPythonを実行できない

ys-tombi2

総合スコア23

Python

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

0グッド

0クリップ

投稿2021/09/24 01:30

問題とエラーメッセージ

VSCodeでローカルのOneDrive上のフォルダ―を開き、Pythonのスクリプトを「デバッグの開始」で実行すると、エラーが発生します。どうやらスクリプトのファイルにすら到達していないようです。

Tracebackには次のようなエラーメッセージがでます。
FileNotFoundError: [Errno 2] No such file or directory: 'c:\Users\myname\OneDrive\ドキュメント\xxx\yyy\zzz\test.py'

OneDrive上でないフォルダーなら問題なしです

スクリプトを以下のようなフォルダ―に置き、VSCodeでこのフォルダ―を開き、「デバッグの開始」を実行すると、問題は発生しません。
c:\Users\myname\ドキュメント\zzz

実現したいこと

OneDrive上のフォルダ―にPythonのスクリプトを置いて実行したいのです。
なにか工夫なり、設定をすることで問題が解決するでしょうか。

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

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

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

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

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

guest

回答4

0

あなたと同じ環境かどうかはわからないのですが、ローカルPCのOneDriveフォルダー内で
デバッグできているようです。
(OneDriveのファイルオンデマンドは有効にしています。)

イメージ説明

投稿2021/09/24 03:32

編集2021/09/24 03:39
technocore

総合スコア7247

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

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

ys-tombi2

2021/09/24 08:37

回答ありがとうございます。 同様のスクリプトを作ってテストしましたが、失敗しました。 フォルダ―およびファイルのオンデマンドが有効なことは確認しました。 回答者さんのスクリーンショットを見る限り、スクリプトは確かにOneDriveに置かれていて、そこで実行されていることは分かります。 しかし、私の環境ではうまくいきませんでした。
ys-tombi2

2021/09/24 11:00

### 解決策が見えてきたみたいです どうやら、OneDriveの下のフォルダ―の階層が深すぎるようです。階層を浅くして test.plを実行するとうまくいきました。 実際の作業用のスクリプトを浅い階層に映す実験をしてみます。 そして、深い階層にある処理対象にあるファイルにアクセスできるか。 あす、検討してみるつもりです。
guest

0

自己解決

解決の鍵は、OneDriveの中のフォルダ―の階層を浅くすることでした

technocoreさんの回答で、OneDrive上でVSCodeでのPython スクリプトの実行ができていることが証明されたので、その条件を探ってみました。

見つけた方法は、Pythonスクリプトを置くフォルダーまでの階層をできるだけ浅くすることです。
正確に、フォルダーの階層が問題なのか、パスの文字列の長さが問題なのか、その辺のことは分かりません。

結果として、処理する対象のファイルへ名は長くなりますが、それは止むを得ないと諦めています。

投稿2021/09/25 02:10

ys-tombi2

総合スコア23

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

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

technocore

2021/09/25 02:18

あなたと同じ階層で試してみましたが、問題なくデバッグモードで実行できました。 c:¥Users¥xxxxxxxx¥OneDrive¥ドキュメント¥xxx¥yyy¥zzz¥test.py
ys-tombi2

2021/09/25 05:28

確かに、私もフォルダーの階層の深さが真の原因だと確定できたとは思っていません。ただし、私自身の問題は、VSCodeの不具合の真の原因を見つけることではありません。世界の一流の人が作ったソフトの不具合をの原因を特定するなんて大それたことをしたいわけではないので、この問題を追いかけるのは、一応ここまでということにします。ご協力いただいてありがとうございました。
guest

0

  • なにか工夫なり、設定をすることで問題が解決するでしょうか。

おそらく無理でしょう。

検索した結果以下が見つかりました。

Does VSCode support to edit my code on Onedrive?は2020年8月の情報ですが、以下のように書かれています。

現時点では、OneDriveでこれを行うための拡張機能はないと思いますが、先月公開したVSCode拡張機能用のGoogleDrive™にこの機能を実装する予定です。

実装された機能はGoogle Drive™ for VSCode (unofficial extension)にありますが、当然Google Drive向けです。

ソフト開発のプロらしきひとが「OneDriveでこれを行うための拡張機能はない」と1年前に発言していますし、1年1ケ月以内の検索をしてみた結果、OneDrive向けの拡張機能が公表されたというのは見当たりませんでした。

投稿2021/09/24 02:21

ppaul

総合スコア24666

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

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

ys-tombi2

2021/09/24 03:37

早速の回答ありがとうございました。 以前、VBAでファイルを隣のフォルダ―にコピーするのにPathの取得がうまくいかずに困ったことがありました。幸い、それを解決するプログラムをみつけて、便利に使わせてもらっています。 https://kuroihako.com/vba/onedriveurltolocalpath/ 今回の場合も、簡単な手段で問題が解決すればと思ったのですが、なかなか難しい問題のようですね。
guest

0

ファイルがクラウド上にあるだけで、存在だけ見れている、という状態なんでしょう

そのファイルをWindows上でメモ帳ででも開けばダウンロードされるんでそれでやってみればどうでしょう

投稿2021/09/24 02:16

y_waiwai

総合スコア87800

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問