readthedocs / readthedocs-build

Work in Progress builder
19 stars 25 forks source link

Python 3 support #4

Closed sid-kap closed 7 years ago

sid-kap commented 9 years ago

It looks like this repo has a lot of python 2-esque print foo statements, which suggests that it's build for python 2. Why are we still using python 2?

gregmuellegger commented 9 years ago

We are currently in the prototyping phase for this app and are exploring several options. We will surely make this Python 3 compatible in the long. Thanks for suggesting it :)

ssbarnea commented 8 years ago

That "prototyping" is 9 months old and PyPi reports the package as compatible with Python 3 but we can all see that is was probably not really tested with Python 3 at all.

 File "/usr/local/lib/python3.5/site-packages/readthedocs_build/config/validation.py", line 72, in validate_string
    if not isinstance(value, basestring):
NameError: name 'basestring' is not defined

I be happy to contribute but we need at a basic level of support and so far it seems that RTD became mostly unusable. I am able to run sphinx locally on the jira project but RTF fails to do the some.

I tried to install the the readthedocs-build module inside python 2 but it seems that it cannot be started as a module after is installed, which is a real problem because creating command line entry points is not possible on all platforms, modules needs to allow to be called using python -m module approach. Such notable example are pip, flake8, pytest, tox, almost any serious python module.

python2 -m readthedocs_build
/usr/local/opt/python/bin/python2.7: No module named readthedocs_build.__main__; 'readthedocs_build' is a package and cannot be directly executed