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