2016-03-28 7 views
2

私は単一の機能からなるモジュールを書いた。私はこのように物事をセットアップする方法を見つけ出すことはできませんしかしPythonモジュールで関数を公開するにはどうすればよいですか?

>>> from tqdm import tqdm 
>>> tqdm 
<function tqdm.tqdm> 

:私はそれをtqdmがどのように動作するかのようなものを使用することができるようにしたいと思います。ここでは、私が持っているものです。

>>> from missingno import missingno 
>>> missingno 
<module 'missingno.missingno' from '[...]'> 
>>> missingno.missingno 
<function missingno.missingno.missingno> 

私は、これは前に無数の回を頼まれたと確信しているが、私は作品をパッケージ化する方法がわからないんだと、この特定の謎に対する答えを見つけることができません。

ここにリポジトリ:https://github.com/ResidentMario/missingnoがあります。

答えて

1

pandas-profilingを見て、わかりました。 __init__.py()に次の行を追加します

from .missingno import missingno

+0

また、本当にきれいにしたい場合は、 '__init __。py'ファイルに' __all__ = ['missingno'] 'を追加してください。 – gaborous

0

私は何をここにあなたの質問完全にわからないんだけど、私が何をしたいことはあると思う:

from missingno.missingno import missingno 

あなたが(笑)パッケージ/ファイル/関数に異なるものを命名検討する必要があります。

+0

私はそれが[tqdm](https://github.com/noamraph/tqdm)として、しかしちょうど 'missingno輸入missingno'からなりたくありません。問題は、リポジトリがモジュールレベルのフォルダの代わりにリポジトリ(?)の先頭にモジュールを置くことで実現しているようですが、pipとPyPiの両方がそのようなファイル構造を拒否してしまうことです。 –

+0

別の場所にインストールを実行し、その場所にPYTHONPATHを指すスクリプトを書くことができます(つまり、 "something"というディレクトリを作成し、そのディレクトリにmissingno.pyを置くとPYTHONPATHを "何か" ")。 – mwm314

+0

@ResMarいいえ、 'tqdm'は、モジュールをrepoの先頭に配置するのではなく、' tqdm'フォルダの中に配置します。したがって、これは誤っている可能性があります。なぜならモジュールフォルダはトップフォルダと同じ名前ですが、これは実際には標準のPythonモジュール階層です。 – gaborous