問題タブ [python-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python がインポートされたモジュールをキャッシュしないようにする
IPython を使用して Python で大規模なプロジェクト (複数のファイルとフォルダーに分割) を開発しているときに、インポートされたモジュールのキャッシュの問題に遭遇しました。
問題は、そのモジュールが変更された場合でも、命令import module
がモジュールを一度しか読み取らないことです! そのため、パッケージ内の何かを変更するたびに、IPython を終了して再起動する必要があります。痛い。
一部のモジュールを適切に強制的にリロードする方法はありますか? または、Python がそれらをキャッシュしないようにする方がよいでしょうか?
いくつかのアプローチを試しましたが、どれもうまくいきません。特に、一部のモジュールや変数が不思議なことに等しくなるなど、本当に、本当に奇妙なバグに遭遇しNone
ます...
私が見つけた唯一の賢明なリソースはReloading Python modules、 from pyunit ですが、チェックしていません。私はそのようなものが欲しいです。
IPython を再起動するか、何らかの方法で Python インタープリターを再起動することをお勧めします。
では、Python で開発している場合、この問題に対してどのような解決策を見つけましたか?
編集
明確にするために: 明らかに、モジュールの以前の状態に依存するいくつかの古い変数が残っている可能性があることは理解しています。それは私には問題ありません。奇妙なエラーが発生することなくモジュールを強制的にリロードすることが Python で非常に難しいのはなぜですか?
より具体的には、モジュール全体が1 つのファイルmodule.py
にある場合、次のようにするとうまくいきます。
このコードは美しく機能し、IPython を何ヶ月もやめることなく開発できます。
ただし、モジュールが複数のサブモジュールで構成されている場合は常に、地獄が解き放たれます。
モジュールが 1 つの大きなファイルにあるのか、複数のサブモジュールにあるのかによって、Python でこれほど異なるのはなぜですか? なぜそのアプローチがうまくいかないのでしょうか??
python - Python: プロセスにインポートされたモジュールは?
プロセスにインポートされたモジュールのリストを取得するにはどうすればよいですか?
python - C API から Python モジュールでグローバルを定義する
C API を使用して Python 用のモジュールを開発しています。Python からグローバルと見なされる変数を作成するにはどうすればよいですか?
たとえば、モジュールが の場合、次のジョブをmodule
実行する変数を作成します。g
特に、g
は整数です。
Alex Martelli のソリューション
python - 対話モードの問題で矢印キーを修正するために Python を再コンパイルする
私はPython 2.6(CentOSに必要なPython2.4.3と一緒にインストールされています)で作業しており、矢印キーやバックスペースなどに問題があります.
私はソースからコンパイルしましたが、解決策は readline-devel をインストールした後に再コンパイルすることだと思います:
Pythonシェルで矢印キーを押すとエスケープ文字が表示される
質問は、私は多くのモジュールをインストールしていて、何かが壊れるのではないかと心配しています。既存のモジュールを壊さずに再コンパイルできるのは正常ですか?
ありがとう
python - Pythonのnltk.wordnetモジュールをJythonで動作させる
JythonのFAQと、この投稿のJythonおよびpythonモジュールを読みましたが、モジュールが純粋にCで記述されているのかPythonで記述されているのかを判断する方法がわかりません。
私が直面している問題はここに記載されていますhttp://old.nabble.com/using-NLTK-in-Jython-td28520926.html
これを行った人は誰でもこれに光を当てることができますか?Jythonは初めてです。
ありがとう、
python - Pythonで同じ名前の名前付きパラメーターとグローバル変数を使用するにはどうすればよいですか?
モジュールのサンプルコード:
同じ名前を使用する理由は少なくとも2つあります。教育的(ローカル/グローバルの使用方法を学ぶため)とモジュールでの使用です。
このコードがモジュールの一部であるとしましょう:mymodule
そしてあなたは次のようなことをしたいと思います:
この例では単純化されていることが想像できるように、somevar
パラメーターが多くのオプションのパラメーターの1つであり、myfuncが多くの場所で呼び出されていることを想像してください。
python - 組み込みのtype(、、)関数を使用して動的モジュールを作成する
type(,,)
この関数を使用して、モジュールを動的に構築しようとしています。.tex
このモジュールはテンプレートを表すクラスを作成します。特定のフォルダーにあるすべてのファイルに新しいクラスが必要です。たとえば、a4-page-template.tex
ファイルがある場合は、という名前のクラスを作成する必要がありますA4PageTemplate
。
typeステートメントを使用して簡単に型を作成できます。私がこれまでに持っているものはこのように見えます。
最後から2番目の行がタイプを作成し、それに続くprintステートメントは、テンプレートごとにタイプが作成されたことを示していることに注意してください。
ただし、モジュールを使用する場合、タイプを使用できません。このコンシューマースクリプトを作成すると、
このエラーが発生します。
作成したタイプをモジュールに追加して、モジュールのファーストクラスの部分にする方法を考えてみてください。
python - モジュール内の Python クラスが一方のコンピューターにロードされず、もう一方のコンピューターにロードされない
したがって、2 つのファイルがあります。ファイル 1 には、次のメソッドが含まれています。
ファイル 2 には、クラス「someClass」とクラス「someOtherClass」があります。そうは言っても。コンピューターでコードを実行すると、うまく機能し、期待どおりに動作します。同じPythonバージョン2.5.4を搭載したWindows 7の同じビルドである友人のコンピューターでこのコードを実行すると、同じコード(両方のサムドライブ上)で「モジュールにsomeClassが含まれていません」というエラーが表示されます
これが私が言おうとしていることに意味があることを願っています。これは仕事に関連しているため、コード スニペットは読み上げられません。これは、なぜこれが当てはまるのか、非常に困惑しています。「from ModuleB import someClass」を試して、someClassが機能するかどうかを確認しましたが、someClassはmoduleBになく、someCLassは間違いなくmoduleBにあると言われました...
どんなアイデアでも大歓迎です!
python - C モジュールで python を拡張する
そのため、i2c デバイスとやり取りするための C プログラムがあります。Python からそのデバイスに接続する必要があります。プログラムを python モジュールに移植する価値があるかどうか、または移植に伴う労力がサブプロセスを使用してプログラムを実行するだけの価値がないかどうか疑問に思っています。アプリケーションごとに異なることはわかっていますが、python C 拡張機能を学習してこのプログラムを移植するのに時間をかける価値があるかどうかを知りたいです。
更新: C と python の両方のソースに完全にアクセスできます。しかし、Python 側ではすでにかなりの作業が行われており、それが重要な場合は、可能な限り最小限の変更を維持したいと考えています。また、C に加えなければならない変更を最小限に抑えたいと考えています。それは実行可能ですが、私はそれを書いていません。
python - リファクタリングを容易にするための Python でのモジュール インポートのマッピング
クリーンアップ、再編成、およびリファクタリングしたいPythonモジュールがたくさんあります(重複したコード、未使用のコードがあります...)、どのモジュールが他のどのモジュールを使用しているかのマップを作成するツールがあるかどうか疑問に思っています.
理想的には、次のようなマップが必要です。
...最初に移動を開始できるファイル(file_utils.py、db_access.py)、main.pyで使用されていないため削除できるファイルなどを知ることができるようにします(実際に作業しています約 60 モジュール)
これを行うスクリプトを作成することは、おそらくそれほど複雑ではありません(ただし、処理する import にはさまざまな構文があります)。このためのツールには、おそらく使用されていないクラスと関数を通知するなど、他の優れた機能が含まれている場合があります)。
コードの再編成を支援するツール (単純なスクリプトであっても) を知っていますか?
私がやろうとしていることをより正確に表す用語を知っていますか? コードの再編成?