evyatarmeged / Raccoon

A high performance offensive security tool for reconnaissance and vulnerability scanning
MIT License
3.1k stars 400 forks source link

remove sys.path hack: #21

Closed RecursiveForest closed 6 years ago

RecursiveForest commented 6 years ago

Python imports need not be the death of us all. If one uses python setup.py develop on a developer's machine, or installs with the recommended method of python setup.py install (as will be the case for anyone using pip), no sys.path hacking is needed to access modules within the source code.

evyatarmeged commented 6 years ago

HI Samantha, Tested it and it works perfectly with python setup.py install as well as with develop. Shouldn't install be preferred ? any reason to favor one over the other ?

I'll approve this nonetheless, but still waiting for your feedback on this.

RecursiveForest commented 6 years ago

python setup.py develop just creates a stub entry point that points back to the development source directory: changes made after developing will be reflected in subsequent calls to raccoon.

On the other hand, python setup.py install bundles up the current version of the source code and installs it into /usr/lib/site-packages; subsequent changes to the source code will not be reflected in calls to raccoon.

One is easier for developers (don't need to re-install after every change) and one is better for end-user installation (don't need to keep the git checkout around).

protip: python setup.py develop --uninstall will remove the stub executable that develop installs. setuptools is a bit underdocumented in my opinion.

Oh, and thanks for the speedy reviews. :)

evyatarmeged commented 6 years ago

Samantha, Much obliged for both issues. Would love it if you'll continue to contribute to this project :smile:

Merged.