Вопросы по упаковке первого проекта PyPi

Это чистое решение для JavaScript без каких-либо библиотек или плагинов:

document.addEventListener('click', function (e) {
    if (hasClass(e.target, 'bu')) {
        // .bu clicked
        // Do your thing
    } else if (hasClass(e.target, 'test')) {
        // .test clicked
        // Do your other thing
    }
}, false);

, где hasClass -

function hasClass(elem, className) {
    return elem.className.split(' ').indexOf(className) > -1;
}

Live demo

Кредит относится к Dave и Sime Vidas

Использование более современных JS, hasClass может быть реализовано как:

function hasClass(elem, className) {
    return elem.classList.contains(className);
}

0
задан BPL 28 March 2019 в 00:38
поделиться

1 ответ

Хорошо, давайте шаг за шагом.


По первому вопросу. В большинстве случаев вам не следует этого делать, вместо этого вы должны рассматривать sublime_text как пакет. Структура должна выглядеть следующим образом:

├───sublime_text
|       __init__.py
│       sublime.py
│       sublime_plugin.py

И вы должны использовать ее как from sublime_text import sublime в других ваших пакетах. Это может быть лучше, поскольку вы не будете слишком сильно загрязнять глобальное пространство имен. Или, если это не обычный пакет, которым вы хотите поделиться между многими другими пакетами, вы можете напрямую включить его как подмодуль в свой основной пакет.

Или, если вы действительно хотите это сделать, вы можете поместить эти два файла в корневой каталог и использовать:

...
packages = find_packages(),
py_modules=["sublime", "sublime_plugin"],
...

Для второго вопроса. Поскольку это пакет, вы можете добавить этот путь к пакетам: packages=[""]. Или для удобства вы можете использовать packages=find_packages(). Это поможет вам найти все пакеты в текущем каталоге, который является "".


Третий вопрос. В основном это не правильно, вам просто нужно представить то, что нужно пользователю в PyPi. Для docs вы должны использовать сайт readthedocs . А для других примеров и тестов просто оставьте их на своем Github. Этого достаточно.

0
ответ дан Sraw 28 March 2019 в 00:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: