How to do in order to package python modules separately when organized in the same project?
There is nothing that does exactly what you want (as far as I know, at least). In python the way we manage dependencies of a project or a library is using requirements.txt and virtual environments. Both of which manages the dependencies of the project as a whole. 
To separate the individual modules out of the project you'd treat them as separate projects and do what every project would need. Make the requirements.txt or if you need to install it using setup.py put them inside that.
So, for every 'sub-library' you want to 'separate' make a different requirements.txt or setup.py. 
There's this library called pipreqs (and possibly others) which scans a folder and generates the requirements file automatically. I'd always recommend hand-crafting the requirements file right after you install any library.
I am more experienced in Java and Maven and a real beginner in Python, so I don't really have an idea about what possible to do and what not.
In Java, using Maven we can manage dependencies versions in a file (a pom parent / the aggregator module), then re-declare in pom.xml of the sub-modules the necessary dependencies while omitting their version being managed by the pom parent. This way, we can distribute the sub-modules physically separately (Ex: every module in a machine) and every module would package only its required dependencies, the libraries that are defined in its own pom file.
Now back to Python, currently I use a setup.py file which, to my understanding, should be in the root module. But then it packages the whole modules as one library.
Is there a way to manage better the modules and their dependencies and be able to deploy every (chosen) module separately as an independent package with its own needed libraires? I want to be able to choose the modules to package separately, I don't want that every folder containing __init__.py to be packaged seprately.
Currently I use Pipenv to manage my dependencies, but I am ready to drop it if it doesn't satisfy the design I have explained above.
Thank you