Итак, я создал пакет под названием streamml и сделал мой первый выпуск здесь после изучения этого учебника. У меня не было проблем с тем, чтобы добраться до этой точки и загрузить пакет, используя 90% предоставленных инструкций. Теперь у меня проблемы с импортом пакета. Так что он сказал, что был успешно загружен и связан с моей версией github: , что было здорово. У меня действительно был пакет, который я хотел использовать для выбора функций, но не смог его импортировать, но другие справились (это побочная проблема), файл setup.py ниже:
from distutils.core import setup
setup(
name = 'streamml', # How you named your package folder (MyLib)
packages = ['streamml'], # Chose the same as "name"
version = '0.1', # Start with a small number and increase it with every change you make
license='MIT', # Chose a license from here: https://help.github.com/articles/licensing-a-repository
description = 'Streamlined machine learning for transformation, feature selection, and model selection.', # Give a short description about your library
author = 'Jon Doe', # Type in your name
author_email = 'j.d@outlook.com', # Type in your E-Mail
url = 'https://github.com/conradbm/streamml', # Provide either the link to your github or to your website
download_url = 'https://github.com/conradbm/streamml/archive/v_01.tar.gz', # I explain this later on
keywords = ['Machine Learning', 'Model Selection', 'Transformation', "Feature Selection"], # Keywords that define your package best
**install_requires=[ # I get to this in a second
'pandas',
'numpy',
'scipy',
'statsmodels',
'sklearn',
'matplotlib',
'seaborn',
*'skcriteria'*
],**
classifiers=[
'Development Status :: 3 - Alpha', # Chose either "3 - Alpha", "4 - Beta" or "5 - Production/Stable" as the current state of your package
'Intended Audience :: Developers', # Define that your audience are developers
'Topic :: Software Development :: Build Tools',
'License :: OSI Approved :: MIT License', # Again, pick a license
'Programming Language :: Python :: 3', #Specify which pyhton versions that you want to support
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
)
Возможно, пакету skcriteria нужно полное имя, scikit-критерий в требованиях, и это хорошо, просто не уверен, почему другим тогда не нужны их полные (например, sklearn -> scikit-learn)
Пока у меня установлен успешный пакет с одной отсутствующей зависимостью, без проблем. Это может быть pip, установленный пользователем. Теперь, однако, я не могу импортировать модуль (потому что у меня, похоже, есть пробел в знаниях, как правильно говорить о структуре моего проекта):
Теперь у меня есть проблема, вот как я упоминал, что три основные функции в моем пакете проходили через цепочку точек пакета, которые вы видите в ошибке. Как мне обойти это? Моя структура папок выглядит так:
streamml
-setup.py
-setup.cfg
-__init__.py
-dist
+streamml-0.1.tar.gz
-streamml
+...
+... all referenced sub folders with my functions modularized
+...