[解決済み] python はモジュールをインポートできるのに pytest はできない
2022-01-29 06:47:26
質問
私はPythonでパッケージを作成しています。私はvirtualenvを使用しています。私はコードを開発しながらパッケージのモジュールをインポートしてテストを行うことができるように、私のvirtualenvの.pthパスにモジュールのルートへのパスを設定します(質問1:それは良い方法でしょうか)。これは問題なく動作します(以下は例で、これは私が望む動作です)。
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python
Python 2.7.12 (default, Jul 1 2016, 15:12:24)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rc import ns
>>> exit()
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ python tests/test_ns.py
issued command: echo hello
command output: hello
しかし、PyTestを使おうとすると、いくつかのインポートエラーメッセージが表示されます。
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ pytest
=========================================== test session starts ============================================
platform linux2 -- Python 2.7.12, pytest-3.0.5, py-1.4.31, pluggy-0.4.0
rootdir: /home/zz/Desktop/GitFolders/rc, inifile:
collected 0 items / 1 errors
================================================== ERRORS ==================================================
________________________________ ERROR collecting tests/test_ns.py ________________________________
ImportError while importing test module '/home/zz/Desktop/GitFolders/rc/tests/test_ns.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_ns.py:2: in <module>
from rc import ns
E ImportError: cannot import name ns
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================= 1 error in 0.09 seconds ==========================================
(VEnvTestRc) zz@zz:~/Desktop/GitFolders/rc$ which pytest
/home/zz/Desktop/VirtualEnvs/VEnvTestRc/bin/pytest
これはインポートエラーを表しているように見えますが、Pythonでは問題なく実行できるのに、なぜPyTestにだけ問題があるのでしょうか?理由/改善策(質問2)について、何か提案があれば教えてください。PyTest の 'ImportError: cannot import' エラーをググってスタックオーバーフローしてみましたが、ヒットしたのは Python のパス抜けやそれに対する対処法に関するもので、今回の問題とは違うような気がしています。何か提案はありますか?
解決方法は?
答えが見つかりました。
を付けないでください。
__init__.py
ファイルを TESTS フォルダにコピーしてください。私はそのようなファイルを1つ持っていましたが、それを削除することで問題が解決しました。
の2つ目の回答に対するコメントに埋もれていたのですが、実はこれ pytestのPATH問題 'ImportError: YadaYadaYadaという名前のモジュールがありません' というわけで、私は見ませんでしたが、ここでもっと注目されることを期待しています。
関連
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】「RuntimeError: dictionary changed size during iteration」エラーを回避する方法とは?
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] Pythonスクリプトのプロファイリングはどのように行うのですか?
-
[解決済み] フルパスでモジュールをインポートするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Pythonの@decoratorsについてまとめてみました。
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】pytestのPATH問題 'ImportError: YadaYadaYadaという名前のモジュールがない'