2

ディレクトリ mydir に次のものがあります。

 x.py with:

     import mypackage.mymodule

 mymodule.py:
    def module()
 __init__.py

mydir にサブディレクトリ mypackage を作成して、そこに別の __init__.py を作成したくありません。推奨されないことはわかっていますが、私の理由はここでは扱いません。

モジュールファインダーを使用してモジュール名とパスを変更しようとしていました。この件に関する適切なドキュメントは見つかりませんでした。

ファイルを作成しました:

  mymod.py:

    import mypackage.mymodule
    import x

and from \__init__.py:

        import modulefinder
        finder = modulefinder.ModuleFinder('/fullpath/mydir',0,['x.py'],['mypackage.mymodule',(('mypackage/mymodule','mymodule')
        finder.run_script('mymod')

I also tried:

    __init__.py:

      import modulefinder
      modulefinder.AddPackagePath('mypackage','/fullpath/mydir')

私が試した 3 番目の方法は、sys.modules を自分で変更することでした。また、私にはうまくいきませんでした。key() で設定エラーが発生しました。

それぞれの方法について、それが機能しなかった理由と正しい方法を指定できますか?

4

0 に答える 0