From this https://docs.python.org/3.4/library/2to3.html it says that 2to3 should be installed as a script alongside the python interpreter.  However, in my /usr/bin/ folder there are no 2to3 executable, and running find from / finds no 2to3 executable either.  I do however have a folder called lib2to3 at /usr/lib64/python{3.4/2.7}/lib2to3 but containing nothing I found relevant.  In python/site-packages/setuptools/ there is a lib2to3_ex.py script, but nothing happens if I run it.  How do I get to the point where I can simply type 2to3 upgradethisscripttopython3.py ?
 
    
    - 777
- 1
- 10
- 17
- 
                    Have you looked in `Tools/scripts`, per the docs? What happens if you just type `2to3` in the command line and hit return? – jonrsharpe Jul 05 '15 at 10:11
- 
                    `Tools/scripts` often is not in your `PATH`, you might want to add it. – cdarke Jul 05 '15 at 10:37
- 
                    I don't have the `Tools/scripts` path :S , and as far I have found out, the `Tools/scripts` files are downloaded with the `python2.7-examples package` in Ubuntu, but so far I haven't found the equivalent package for opensuse (which I'm using) – Kirbies Jul 05 '15 at 20:44
6 Answers
You need to first install the following packages:
apt install 2to3
apt install python3-lib2to3
apt install python3-toolz
For windows just install 2to3
pip install 2to3
Then, You can simply go to that directory your python file is in and type the following command:
2to3 ./filename.py
OR for writing the updated python 3 code to the existing file
2to3 . -w
This last will convert all the python files that are in the directory.
 
    
    - 923
- 3
- 23
- 49
 
    
    - 171
- 1
- 2
So the solution is that at least not for me, the Tools/scripts files were not automatically installed. On ubuntu this would be solved by installing python-examples which on opensuse is called python-demo
 
    
    - 777
- 1
- 10
- 17
On CentOS (and other RHEL-like distros) you will need to run yum install python-tools, which installs 2to3 to /usr/bin/2to3
 
    
    - 37,583
- 36
- 99
- 136
On Fedora 29, the python-tools is not providing 2to3. I had to install the development package:
dnf install python3-devel
I found this out by first calling:
dnf whatprovides /usr/bin/2to3
 
    
    - 76
- 5
So far I've been using pip install 2to3. Conversions worked like absolute charm!
(I'm on Ubuntu 18.04)
 
    
    - 157
- 2
- 10
Check if you have the file /usr/bin/2to3-2.7 (or similar). If one exists, then simply create a symbolic link to it with a link name of 2to3 (e.g.: ln -s 2to3-2.7 /usr/bin/2to3).
 
    
    - 160
- 1
- 5