General Reply:
Thank you so much for your reply. Highly appreciate all the comments or suggestions. You reply helps a lot to me, to be honest.
Sorry for being confused in my question. Let me explained setuptools
, based on my understanding, a little bit. Python setuptools
you to manage your python packages easily with one line in the terminal.
python setup.py install
This is able to install your python package to the system and create executable for your python program. Inside the setup.py is a very straightforward function that do all the dirty work for you.
# setup.py example
import os
from setuptools import setup
# Utility function to read the README file.
# Used for the long_description. It's nice, because now 1) we have a top level
# README file and 2) it's easier to type in the README file than to put a raw
# string in below ...
def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()
setup(
name = "an_example_pypi_project",
version = "0.0.4",
author = "Andrew Carter",
author_email = "andrewjcarter@gmail.com",
description = ("An demonstration of how to create, document, and publish "
"to the cheese shop a5 pypi.org."),
license = "BSD",
keywords = "example documentation tutorial",
url = "http://packages.python.org/an_example_pypi_project",
packages=['an_example_pypi_project', 'tests'],
long_description=read('README'),
classifiers=[
"Development Status :: 3 - Alpha",
"Topic :: Utilities",
"License :: OSI Approved :: BSD License",
],
)
Here are the link for the repo and document.
By comparing this with Rust, I think Cargo is the think in Rust, which is managing the crate for Rust.
============================================================
For what I am looking for is just a tool that can compile my crate and make an executable binary that can run in my Linux/Fedora system by just typing myApp --arg
in the terminal.
I think @alice gave me a good idea that I can just place my executable under the /usr/local/bin
which allows the PATH to look for it and run.
Once again, thanks for your answers. Please forgive if what I said doesn't make sense, since I am still a Rookie.