0

私はPythonにかなり慣れていませんが、特にインポートメカニズムです。用語を正しく使用しているかどうか完全には確信が持てないので、前もってお詫び申し上げます。

まず、これはサード パーティのインポートで発生している問題のように思われるため、サード パーティのリリースの構造を実際に変更することはできません。

このリリースでは、すべてのパッケージが site-packages/[ROOTFOL]/[PACKAGE] にあり、[ROOTFOL] には__init__.pyファイルがなく、パッケージ フォルダーのみにこのファイルがあります。このフォルダーは site-packages に配置され、site-packages は PYTHONPATH に存在します

彼らが提供する例では、次のように使用します。

import ROOTFOL.PACKAGE.WhateverObject as obj

たくさんのパッケージがあるため、すべてのパッケージを PYTHONPATH に追加しないようにしています。すべてが正常に機能しているように見えますが、オートコンプリート機能を操作する能力が実際に妨げられており、それがイライラする部分です.

他に奇妙な点は、パッケージがインストールされると、パッケージの横に EGG-INFO フォルダーが配置されることです。これにはいくつかの .txt ファイルがあり、そのうちの 1 つは ROOTFOL のみを持つ namespace_packages.txt です。これを PyDev に設定する方法はありますか?

4

1 に答える 1

1

ここに表示されているのは、その分散モデルです。通常、モジュールにはすべての元となる 1 つのルート インポートがありますが、必ずしもそうとは限りません。彼らがパッケージを提供しているのは(私が推測していることですが)、互いに相互作用しない多くのモジュールです。または、それらはすべて単独で使用できます。

各パッケージを個別にインポートする代わりに、「from」キーワードを使用できます。

from ROOTFOL.PACKAGE import *

そのサブモジュール内のすべてを取得します。開発者に電子メールを送信して、なぜこのように展開したのかを尋ねることもできます...または、独自の__init__.pyものをルート フォルダーに追加して、

from ROOTFOL import * 

それは木を歩きます。幸運を!

于 2013-08-25T22:15:33.923 に答える