Reputation: 271
I have both Python 3.3 and Python 2.7 installed on my computer. The python 3.3 works fine, but when I try to run something using python 2.7, it is still referencing python 3.3.
For Example: if I type F:\Python33\python33.exe test1.py
, it will run with 3.3 and work fine, but if I type F:\Python27\python27.exe test1.py
it gives this error:
File "F:\PYTHON33\LIB\site.py", line 173
file=sys.stderr)
^
SyntaxError: invalid syntax
Note: I have renamed the Python 2.7 and 3.3 .exe's to python27.exe and python33.exe respectively.
Any help would be appreciated, Thank you.
Upvotes: 19
Views: 25790
Reputation: 59
I received the same error when I was running my python file using python filename.py my PYTHONPATH was set to use python3
I fixed it by using the below command to run my file
python3 filename.py
Upvotes: 0
Reputation: 8096
Setting the PYTHONPATH
environment variable to nothing fixed this issue for me.
Upvotes: 2
Reputation: 179
You will get issue if multipler version of python is set
File "F:\PYTHON33\LIB\site.py", line 173 file=sys.stderr) ^ SyntaxError: invalid syntax
To fix this issue remove previous version python set in system environment variable
Upvotes: 3
Reputation: 2932
Changing the executable files isn't an option for everyone, and uninstalling can risk breaking programs that depend on that Python installation.
My answer here doesn't guarantee that you can run both versions side by side seamlessly, but I was able to resolve it without something as major as uninstalling.
In my case, the problem was that the PYTHONPATH
and PYTHONHOME
environment variables were both set to the 3.x installation path, whereas I needed to use the 2.x installation. Replacing these environment variables with the 2.x path and restarting the shell was an acceptable workaround for me.
Upvotes: 0
Reputation: 4960
I got this fixed by removing the = sign and simply keeping as sys.stderr
Upvotes: -2
Reputation: 285
Google search results have returned a few useful resources that answer your problem.
The Python Documentation (http://docs.python.org/3.3/using/windows.html#python-launcher-for-windows) gives a quick overview for running multiple versions on the same machine.
The first option would be to include your python version in the file you wish to execute using something along the lines of
#! python
Your code here
To execute in Python 2, or
#! python3
Your code here
For running the code in your Python 3 version. Then you would simply use "python yourscript.py" and the python version would be specified by the Python script.
There are multiple other questions which may address the problem you are facing:
How to install both Python 2.x and Python 3.x in Windows 7
Or for Ubuntu 13: Ubuntu 13.04 Install and running Python 3 at the same time than Python 2.7.x
Or for Mac using Homebrew: How can I use Homebrew to install both Python 2 and 3 on Mac?
And a video reference for Mac without Homebrew: http://www.youtube.com/watch?v=c9LlK2iu7OA
Upvotes: 3
Reputation: 5713
If you want to use different versions of Python try something like VirtualEnv.
UPDATE: Additional topic for you: Use different Python version with virtualenv
Upvotes: 0