手动安装Python软件包

时间:2020-07-02 11:45:36

标签: python linux

我写了一个小python程序,现在我想在系统上安装并使用它。

程序结构:

projectname
|--src
|  |--main.py #import file1
|  |--file1.py #import file2
|  |--file2.py
|--LICENSE
|--README.md
|--setup.py

我做了sudo python setup.py install,但是现在我只能用/usr/bin/main.py运行它。我应该怎么做才能只键入projectname就能运行它?

编辑:Setup.py内容:

setuptools.setup(
    name="projectname",
    version="0.0.1",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    entry_points={
        "console_scripts": [
            "projectname = projectname.src/main:main"
        ]
    },
    python_requires='>=3.6',
)

1 个答案:

答案 0 :(得分:1)

您可以在setup.py中使用setuptools的entry points

文档中的示例:

setup(
    # other arguments here...
    entry_points={
        "console_scripts": [
            "foo = my_package.some_module:main_func",
            "bar = other_module:some_func",
        ],
        "gui_scripts": [
            "baz = my_package_gui:start_func",
        ]
    }
)

根据您的结构,创建文件src/__init__.py

from . import main

并说这是src/main.py

def main():
    print("Hello world")

最后,setup.py可以是:

import setuptools

setuptools.setup(
    name="projectname",
    version="0.0.1",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    entry_points={
        "console_scripts": [
            "projectname = src:main.main"
        ]
    },
    python_requires='>=3.6',
)