1

Ubuntu 12.04 で Anaconda と Python 2.7 を使用しています。いくつかのパッケージを作成しましたが、そのうちの 1 つは、何度mybasicsも使用するいくつかのクラスとツールを保持する場所に名前が付けられています。

何年にもわたる PHP の経験を経て、Python に完全に慣れてきたので、パッケージは進行中の作業です。私は当初、各ファイルにいくつかのクラスを含む 2 つのファイルのみでパッケージを作成しました。これら 2 つのファイルを保持するディレクトリには、他のいくつかのファイルも保持されるようになりました。

私が抱えている問題はdir(mybasics)、元の 2 つのファイルのみをインポートして実行すると、長い間表示されることです。パッケージをpython setup.py install何度か再構築しました。はpython setup.py install、これら 2 つのファイル内の変更に対して機能するように見えますが、新しいファイルは含まれていません。

パッケージディレクトリは次のようになります。

/home/gabe/python/lib/mybasics/
  ./bin
  ./build
  ./docs
  ./mybasics
    __init__.py
    cBaseClass.py
    cBeanstalk.py
    cHelpers.py
    ...
  setup.py

ファイルはsetup.py単純です:

# -*- coding: utf-8 -*-

from distutils.core import setup

setup(
    name='mybasics',
    version='0.1.0',
    author='G Spradlin',
    author_email='gabe.spradlin@{removed}.com',
    packages=['mybasics'],
    package_dir={'mybasics':'mybasics'},
    scripts=[],
    url='',
    license='LICENSE.txt',
    description='Basic Python functions and Classes.',
    long_description=open('README.txt').read(),
)

__init__.pyファイルが空です:

# -*- coding: utf-8 -*-
"""
Created on Tue Sep  9 16:15:29 2014

@author: gabe
"""

したがって、私がこの投稿を書いていた当初、新しいファイルはどれも機能していませんでした。Spyder がクラッシュしたので、元に戻しました。ほら、最新のファイルを除くすべてが期待どおりにインポートされました。そこで、もう一度「python setup.py install」を使用して再構築し、Spyder をシャットダウンして、マシンを再起動しました。まだ最新のファイルには行きません。

不足しているパッケージについて何かがあるかどうか疑問に思っています。本当にこのパッケージにしか入っていないようです。他にも進行中の作業がいくつかありますが、この問題が発生したことは覚えていません。

ヘルプ/提案をありがとう。

4

1 に答える 1

0

パッケージをインポートすると、そのパッケージ内のすべてのサブモジュールが自動的にインポートされるわけではありません。それらを__init__.pyファイルにインポートするか、明示的にインポートする必要がありますimport mybasics.cBaseClass

于 2015-05-04T17:34:18.073 に答える