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

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

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

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

Q&A

1回答

2115閲覧

アクセス権に関するエラー python

nkg0901

総合スコア0

Python

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

0グッド

0クリップ

投稿2023/02/02 06:18

編集2023/02/02 06:41

実現したいこと

cacheへのアクセスが拒否されている?現状を克服したい

前提

プログラミングかなりの初心者です。
Pythonでバイオインフォマティクスの解析を進めようとしております。
必要なモジュール等をインストールし、データを読み込もうとした段階で下記のエラーがでます。

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

PermissionError: [WinError 5] アクセスが拒否されました。: 'cache'

該当のソースコード

Python

import scanpy
import numpy as np
import pandas as pd
import scanpy as sc
sc.settings.verbosity = 3 # verbosity: errors (0), warnings (1), info (2), hints (3)
sc.logging.print_versions()


anndata 0.8.0
scanpy 1.9.1

PIL 9.4.0
beta_ufunc NA
binom_ufunc NA
colorama 0.4.6
cycler 0.10.0
cython_runtime NA
dateutil 2.8.2
h5py 3.7.0
joblib 1.2.0
kiwisolver 1.4.4
llvmlite 0.39.1
matplotlib 3.5.3
mpl_toolkits NA
natsort 8.2.0
nbinom_ufunc NA
nt NA
numba 0.56.4
numpy 1.21.6
packaging 23.0
pandas 1.1.5
pyparsing 3.0.9
pytz 2022.7.1
scipy 1.7.3
session_info 1.0.0
six 1.16.0
sklearn 1.0.2
threadpoolctl 3.1.0
typing_extensions NA
zipp NA

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
Windows-10-10.0.19041-SP0

Session information updated at 2023-01-30 15:34

results_file = (r"C:\Users\XXXX")
adata1 = sc.read_10x_mtx(

... (r"F:\XXXXXX"),
... var_names='gene_symbols',
... cache=True)
... writing an h5ad cache file to speedup reading next time
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
File "C:\Users\XXXXX\AppData\Roaming\Python\Python37\site-packages\scanpy\readwrite.py", line 496, in read_10x_mtx
prefix=prefix,
File "C:\Users\XXXXX\AppData\Roaming\Python\Python37\site-packages\scanpy\readwrite.py", line 557, in _read_v3_10x_mtx
cache_compression=cache_compression,
File "C:\Users\XXXXX\AppData\Roaming\Python\Python37\site-packages\scanpy\readwrite.py", line 122, in read
**kwargs,
File "C:\Users\XXXXX\AppData\Roaming\Python\Python37\site-packages\scanpy\readwrite.py", line 775, in _read
path_cache.parent.mkdir(parents=True)
File "C:\Program Files\Python37\lib\pathlib.py", line 1230, in mkdir
self._accessor.mkdir(self, mode)
PermissionError: [WinError 5] アクセスが拒否されました。: 'cache'

試したこと

moduleのアンインストール>再インストール
pipアップグレード

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

scanpy (single-cell RNAの発現量データを解析するためのツール)
https://scanpy.readthedocs.io/en/stable/

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

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

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

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

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

jbpb0

2023/02/02 06:24

質問に記載のエラーメッセージよりも上に「Traceback」と書かれてたら、そこから下をできるだけ省略せずに質問に記載してください (ここに書くのではなく、質問を編集して追記する) ユーザー名等の個人情報は伏せ字でいいですが、それ以外はできるだけそのまま記載してください
can110

2023/02/02 06:29

エラーは発生場所など詳細が分かるように全文(Traceback)を提示ください。 また`scanpy`なるパッケージは知らないのですがそれについての情報(公式サイト、マニュアルの場所など)を記載ください。
can110

2023/02/02 07:29

cache格納用のディレクトリ作成(mkdir)時、作成権限がないためのエラーのようです。 そのディレクトリの具体的な位置(絶対パス)分からないですが 「F:\XXXXXX」配下、あるいはもしかしたらプログラム実行時のカレントディレクトリと思われます。 そのいずれかにてフォルダ作成できるでしょうか? ただしエクスプローラ上で作成できるにしても「ユーザーアカウント制御」画面が出る場所だと プログラム上からは作成できません。
nkg0901

2023/02/02 08:29

can110様 ご回答いただき誠にありがとうございます。 ご指摘の通り、プログラム実行ファイルがPC管理者権限下のディレクトリに格納されており、フォルダを作成することができませんでした。 会社貸与のPCのため私に管理者権限がなく、ただいま管理者に対応を依頼中です。 取り急ぎお礼申し上げます。
jbpb0

2023/02/02 08:38

「adata1 = sc.read_10x_mtx(...」で、「cache=True」を「cache=False」に変えても、ダメでしょうか?
nkg0901

2023/02/02 09:07

jbpb0様 ご回答ありがとうございます。 --> This might be very slow. Consider passing `cache=True`, which enables much faster reading from a cache file. とメッセージが出た後反応がありません。
jbpb0

2023/02/02 09:15 編集

> 反応がありません。 「This might be very slow.」なので、すごく時間がかかるのかも windowsの「タスクマネージャー」で「cpu」や「ディスク」を確認したら、pythonが動いてませんか? 【追記】 もし「Fドライブ」が、パソコンに付いてるストレージではなくて、ネットワーク上の共有ディスクならば、「タスクマネージャー」の「ネットワーク」も、pythonが何やらやってないか確認してみてください
can110

2023/02/02 09:25

> ご指摘の通り、プログラム実行ファイルがPC管理者権限下のディレクトリに格納されており、フォルダを作成することができませんでした。 この「プログラム実行ファイル」というのはpython.exeといったPython本体のことでしょうか? また、現状では「>>>」というプロンプトが出る対話モードでプログラムを実行していないでしょうか? であれば ・ソースコードは「hoge.py」といったファイルに書いて保存する。 ・この「hoge.py」は個人のデスクトップなどフォルダ作成可能な場所に置く。 ・ターミナル(コマンドプロンプトやPowerShell)を起動して、上記のファイルのある場所に「cd」なりで移動する。 ・移動後に「python hoge.py」といったコマンドでプログラムを実行する ことで、フォルダ作成できると思います。
guest

回答1

0

このエラーは、読み込みを行おうとしているファイルが存在しない場合にファイルをキャッシュするためにScanpyが作成しようとしている「cache」というディレクトリにPythonプログラムがアクセスできない場合に発生します。Windowsの場合、プログラムが必要なフォルダへのアクセス権限がない場合、このエラーが発生することがあります。

解決策としては、Pythonプログラムがアクセスする場所に必要なアクセス権限を与える必要があります。そのためには、以下の手順を試すことができます。

プログラムがアクセスするフォルダーを見つけます。
例えば、F:\XXXXXX にアクセスしたい場合、このフォルダーが存在することを確認してください。

Pythonプログラムが「cache」フォルダーを作成しようとしている場所を見つけます。
プログラムの実行時にエラーが発生したファイル内に含まれている可能性があります。エラーメッセージに「cache」という言葉が含まれていた場合は、この手順は不要です。

フォルダーにアクセスするために必要なアクセス権限を確認します。
アクセス権限を確認するには、エクスプローラーでフォルダーを右クリックし、[プロパティ]を選択します。[セキュリティ]タブをクリックし、現在のユーザーがフォルダーに対して必要なアクセス権を持っているか確認してください。必要な権限がない場合は、[編集]をクリックし、必要な権限を追加します。

Pythonプログラムがアクセス権限を持っていることを確認します。
Pythonプログラムは、Windowsの場合、現在のユーザーと同じアクセス許可を持ちます。つまり、現在のユーザーがフォルダーにアクセスできる場合、Pythonプログラムも同じアクセス許可を持ちます。

プログラムを再実行します。
必要なアクセス権限が設定された後、Pythonプログラムを再実行することで、エラーを回避できるはずです。

投稿2023/03/11 16:57

TateWagon

総合スコア25

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問