タグ付けされた質問 「python-import」

Pythonでのモジュールのインポートに関する質問

9
Python: 'from X import Y'でインポートされたコンポーネントYをリロードしますか?
Pythonでは、インタープリターセッションでモジュールXをインポートしたら、 import Xが外側で変更されたら、でモジュールを再ロードできますreload(X)。その後、変更は通訳者セッションで使用可能になります。 を使用してモジュールXからコンポーネントYをインポートするときにもこれが可能かどうか疑問に思っています from X import Yます。 ステートメント reload YYはモジュール自体ではなく、モジュール内のコンポーネント(この場合はクラス)だけなので、は機能しません。 インタプリタセッションを終了せずに(またはモジュール全体をインポートせずに)モジュールの個々のコンポーネントをリロードすることはまったく可能ですか? 編集: 明確にするために、問題はモジュールXからクラスまたは関数Yをインポートし、パッケージXからモジュールYではなく、変更時にリロードすることです。

5
Pythonモジュールがインポートされているかどうかを確認するにはどうすればよいですか?
コードのどこかにモジュールをインポートしたかどうかを確認するにはどうすればよいですか? if not has_imported("somemodule"): print('you have not imported somemodule') すでにモジュールをインポートしたかどうかを確認したいのは、プログラムを台無しにすることがあるため、インポートしたくないモジュールがあるためです。

8
定数の長いリストをPythonファイルにインポートする
Pythonには、次のCようなプリプロセッサステートメントの類似物がありますか?: #define MY_CONSTANT 50 また、いくつかのクラスにインポートしたい定数のリストがたくさんあります。.pyファイル内で上記のようなステートメントの長いシーケンスとして定数を宣言し、それを別の.pyファイルにインポートするのに類似したものはありますか? 編集します。 ファイルにはConstants.py次のように書かれています。 #!/usr/bin/env python # encoding: utf-8 """ Constants.py """ MY_CONSTANT_ONE = 50 MY_CONSTANT_TWO = 51 そしてmyExample.py読む: #!/usr/bin/env python # encoding: utf-8 """ myExample.py """ import sys import os import Constants class myExample: def __init__(self): self.someValueOne = Constants.MY_CONSTANT_ONE + 1 self.someValueTwo = Constants.MY_CONSTANT_TWO + 1 …

3
sys.path.insert(1、path)の代わりにsys.path.append(path)を使用するのはなぜですか?
編集: Ulf Rompeのコメントに基づいて、「0」ではなく「1」を使用することが重要です。そうしないと、sys.pathが壊れてしまいます。 私はかなり長い間(1年以上)Pythonをやっていますが、なぜ人々がのsys.path.append()代わりに使用することを勧めているのかについていつも混乱していますsys.path.insert()。実演させてください。 PyWorkbooksという名前のモジュール(コンピューターにインストールされている)で作業しているが、同時にPyWorkbooksを組み込んだ別のモジュール(PyJobなど)で作業しているとします。PyJobに取り組んでいるときに、修正しているPyWorkbooksにエラーが見つかったので、開発バージョンをインポートしたいと思います。 両方で作業する方法は複数ありますが(たとえば、PyWorkbooksプロジェクトをPyJob内に配置することもできます)、それでもパスを操作する必要がある場合があります。ただし、PyWorkbooksがあるフォルダーに対して単純にを実行することはできませんsys.path.append()。どうして?PythonはインストールされたPyWorkbooksを最初に見つけるからです! これが、sys.path.insert(1、path_to_dev_pyworkbooks)を実行する必要がある理由です。 要約すれば: sys.path.append(path_to_dev_pyworkbooks) import PyWorkbooks # does NOT import dev pyworkbooks, imports installed one または: sys.path.insert(1, path_to_dev_pyworkbooks) # based on comments you should use **1 not 0** import PyWorkbooks # imports correct file これは過去にいくつかのハングアップを引き起こしました、そしてsys.path.insert(1, path)あなたが手動でパスを挿入しているように、私たち(コミュニティとして)が推薦し始めたら本当にそれが欲しいです私はそれがあなたが望むパスであると言っても安全だと思います使用する! それとも何か問題がありますか?それは時々私を悩ませ、私はそれをオープンに望んでいた質問です!

7
Pythonにlxmlモジュールをインストールする
Pythonスクリプトの実行中に、このエラーが発生しました from lxml import etree ImportError: No module named lxml 今私はlxmlをインストールしようとしました sudo easy_install lmxl しかし、それは私に次のエラーを与えます Building lxml version 2.3.beta1. NOTE: Trying to build without Cython, pre-generated 'src/lxml/lxml.etree.c' needs to be available. ERROR: /bin/sh: xslt-config: not found ** make sure the development packages of libxml2 and libxslt are installed ** libxsltのビルド構成を使用する …

4
Pythonモジュールがサブモジュールをインポートしないことがあるのはなぜですか?
今日は何か変なことに気づき、説明したいと思います。私はこれを質問として表現する方法さえ100%確信していなかったので、グーグルは問題外です。奇妙な理由で、ロギングモジュールはモジュールlogging.handlersにアクセスできません。あなたが私を信じていないなら、あなた自身でそれを試してください: >>> import logging >>> logging.handlers Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'module' object has no attribute 'handlers' >>> import logging.handlers >>> logging.handlers <module 'logging.handlers' from '/usr/lib/python2.6/logging/handlers.pyc'> なぜこれが起こるのか誰かが説明できますか?

3
Pythonモジュールの絶対相対インポートと明示相対インポート
Pythonアプリケーションにパッケージをインポートするための好ましい方法について疑問に思っています。私はこのようなパッケージ構造を持っています: project.app1.models project.app1.views project.app2.models project.app1.viewsインポートproject.app1.modelsとproject.app2.models。これを行うには、頭に浮かぶ2つの方法があります。 絶対輸入の場合: import A.A import A.B.B または、PEP328を使用してPython2.5で導入された、明示的な相対インポートを使用します。 # explicit relative from .. import A from . import B これを行うための最もPython的な方法は何ですか?

4
インポート注文コーディング標準
PEP8は次のことを示唆しています。 インポートは、次の順序でグループ化する必要があります。 標準ライブラリのインポート 関連するサードパーティの輸入 ローカルアプリケーション/ライブラリ固有のインポート インポートの各グループの間に空白行を入れる必要があります。 標準は、静的コード分析ツールを使用して、パッケージ内のどこに違反しているかどうかを確認する方法はある、のようなpylint、pyflakes、pychecker、pep8? 違反の例: from my_package import my_module from django.db import models import os インポートする正しい方法: import os from django.db import models from my_package import my_module

7
ImportError:モックという名前のモジュールがありません
そのため、unittest.mockを使用して、単体テストでいくつかのメソッドをモックしようとしています。私がやります: from unittest.mock import MagicMock f = open("data/static/mock_ffprobe_response") subprocess.check_output = MagicMock(return_value=f.read()) f.close() しかし、私は得ています: ImportError: No module named mock 私は試した: pip install mock それはまだ機能していません。

1
tensorflow 2でtensorflowモジュールのインポートが遅い
関連: TensorFlow contribモジュールのインポートがTensorFlow 1.2.1で遅いまた、TensorFlowのインポートが非常に遅くなる原因は何ですか? 私はssdを使用してTensorFlowをインポートしています。16 GHzのRAMを備えた4 GHz 8コアPC(プロセッサAMD FX(TM)-8350 8コアプロセッサ、4000 MHz、4コア、8論理プロセッサ)を使用しています。TensorFlowのインポートには10​​〜12秒かかります。 TensorFlowの一部を選択的にインポートする方法はありますか? RAMディスクは役に立ちますか? :任意のより多くの仕事は、このようなものかにそこで行われているのPython 3での輸入tensorflow.contribに遅いinspect.stackがあるので遅く#11829? 編集:Python 3.6.8 :: windoze 8.1上のAnaconda、Inc. Dosボックス、cygwin bashが12秒と遅い。コードbash /電源シェルとの比較は8秒で最速です。.pyファイルでのインポート:tensorflowをtfとしてインポートします。環境がわからない。 編集2: PS D:\ray\dev\ml\ss1> conda info --envs # conda environments: # base * D:\Anaconda3 first D:\Anaconda3\envs\first d:\Anaconda3 first d:\Anaconda3\envs\first 編集3:以下のコードを使用して、コマンドプロンプトに9〜10秒表示されます。 (tf2) D:\ray\dev\ml\ss1>python timeimport.py import tensorflow: 1 units, 9.796 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.