2015-05-03 3 views
1

Я использую Anaconda и Python 2.7 на Ubuntu 12.04. Я создал несколько пакетов, и один из них называется mybasics, где я сохраняю некоторые классы и инструменты, которые я использую снова и снова.Пакет Python не включая все

Этот пакет является незавершенным, так как я прихожу полностью на скорость с Python после многих лет PHP. Я изначально создал пакет с двумя файлами, содержащими несколько классов в каждом файле. Каталог, в котором хранятся эти 2 файла, теперь содержит несколько других файлов.

Проблема, с которой я сталкиваюсь, заключается в том, что в течение самого длительного времени, когда я импортировал и делаю dir(mybasics), появляются только исходные 2 файла. Я несколько раз перестраивал пакет через python setup.py install. python setup.py install, похоже, работает с изменениями в этих двух файлах, но не содержит никаких новых файлов.

каталог

Пакет так:

/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='[email protected]{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 разбился, и я вернул его. Voila все, кроме самого нового файла, теперь импортируется, как и ожидалось. Поэтому я снова переработал его с помощью «python setup.py install», выключил Spyder, перезагрузил машину. Все равно не заходите в последний файл.

Мне интересно, есть ли что-то в пакетах, которые мне не хватает. На самом деле это похоже только в этом пакете. У меня есть пара других, которые также работают в процессе, и я не помню, чтобы когда-либо возникала проблема с ними.

Спасибо за любую помощь/предложения.

+0

'python setup.py install' не« перестраивает »пакет, он устанавливает его на системные сайты-пакеты (что может и не быть хорошей идеей). –

+0

Итак, каков рекомендуемый способ переустановки пакета? Нужно ли его удалить и переустановить? –

+0

Я имею в виду, что удаление и установка ортогонально «созданию пакета». –

ответ

0

При импорте пакета он автоматически не импортирует все подмодули в этом пакете. Вам необходимо импортировать их в файл __init__.py или явно import mybasics.cBaseClass и так далее.

+0

Да, я пробовал это до написания сообщения и снова на всякий случай. Я могу использовать 'from mybasics.cBaseClass импортировать BaseClass'. Это не работает для модулей, которые отсутствуют. –