我想制作一个 cli 工具并找到它作为参考:https ://python-packaging.readthedocs.io/en/latest/command-line-scripts.html
所以我创建了一个具有以下结构的目录
$ tree modules_and_packages
modules_and_packages
├── bin
│ ├── cli_script
│ └── cli_script~
├── __init__.py
├── setup.py
├── setup.py~
├── some_module.py
└── some_module.py~
我可以通过 pip 安装模块没有任何问题:
pip3 install ./modules_and_packages
Processing ./modules_and_packages
Installing collected packages: some-module
Running setup.py install for some-module ... done
Successfully installed some-module-0.0.0
但是当我cli_script在命令行上运行时,出现以下错误:
Traceback (most recent call last):
File "/home/david/.local/bin/cli_script", line 3, in <module>
import modules_and_packages
ModuleNotFoundError: No module named 'modules_and_packages'
这是文件中的内容:
安装程序.py
from setuptools import setup
setup(
name='some_module',
py_modules=['some_module'],
scripts=['bin/cli_script']
)
some_module.py
def some_func():
return 42
bin/cli_script
#!/usr/bin/env python3
import modules_and_packages
print('hello')
如您所见,我只是想测试使用模块制作命令行工具的最简单情况。我在这里做错了什么?
编辑:
尝试 hoefling 的建议后尝试导入 some_module 时收到错误消息
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/david/.local/lib/python3.6/site-packages/some_module.py", line 1
def some_func():
^
SyntaxError: invalid character in identifier
扬帆大鱼
catspeake
慕田峪4524236
随时随地看视频慕课网APP
相关分类