我this project on github允许我更轻松地做一些jekyll动作。
当我克隆并将其安装到我的virtualenv
(pip install virtualenv .
)时,它运行正常,但如果我只是安装而不是 --editable
标记我得到当我尝试使用click
公开的命令时出现这些错误:
$ jk-config-set-editor Traceback (most recent call last):
File "/home/felipe/jekyll-utils/jekyll-venv/bin/jk-config-set-editor", line 7, in <module>
from jekyllutils.configs import set_editor
ImportError: No module named 'jekyllutils'
from setuptools import setup
setup(
name="jekyllutils",
version='0.1',
py_modules=['generators'],
install_requires=[
'click',
'python-slugify',
'appdirs',
'toml'
],
entry_points='''
[console_scripts]
jk-new = jekyllutils.generators:new_post
jk-edit = jekyllutils.managers:edit_post
jk-config-set-editor = jekyllutils.configs:set_editor
jk-config-set-posts-path = jekyllutils.configs:set_path_to_posts_dir
jk-config-dump-configs = jekyllutils.configs:dump_configs
jk-config-clear-configs = jekyllutils.configs:clear_configs
'''
)
任何人都知道为什么当--editable
开启时这是有效的?
答案 0 :(得分:0)
万一遇到同样的问题,对我有用的是使用find_packages
函数在setup.py
中定义我的软件包
我还必须使用package_data
字段定义静态数据文件。
from setuptools import setup, find_packages
setup(
name="jekyllutils",
version='0.1',
py_modules=['generators'],
install_requires=[
'click',
'python-slugify',
'appdirs',
'toml'
],
entry_points='''
[console_scripts]
jk-new = jekyllutils.generators:new_post
jk-edit = jekyllutils.managers:edit_post
jk-config-set-editor = jekyllutils.configs:set_editor
jk-config-set-posts-path = jekyllutils.configs:set_path_to_posts_dir
jk-config-dump-configs = jekyllutils.configs:dump_configs
jk-config-clear-configs = jekyllutils.configs:clear_configs
''',
packages=find_packages(),
package_data={
"": ["*.txt", "*.json", "*.csv", "*.html"],
},
)