可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am trying to install Python for the first time. I downloaded the following installer from the Python website:
Python 2.7.1 Windows Installer (Windows binary -- does not include source). I then ran the installer, selected \'All Users\' and all was fine. I installed Python into the default location:
C:\\Python27
Next, to test that Python was installed correctly, I navigated to my Python Directory, and ran the \"python\" command in the windows cmd prompt. It returns me the following error:
ImportError: No module named site
When I do \'python -v\' I get the following:
#installing zipimport hook
import zipimport # builtin
#installed zipimport hook
#ImportError: No module named site
#clear builtin._
#clear sys.path
#clear sys.argv
#clear sys.ps1
#clear sys.ps2
#clear sys.exitfunc
#clear sys.exc_type
#clear sys.exc_value
#clear sys.exc_traceback
#clear sys.last_type
#clear sys.last_value
#clear sys.last_traceback
#clear sys.path_hooks
#clear sys.path_importer_cache
#clear sys.meta_path
#clear sys.flags
#clear sys.float_info
#restore sys.stdin
#restore sys.stdout
#restore sys.stderr
#cleanup main
#cleanup
[1] zipimport
#cleanup[1
] signal
#cleanup
[1] exceptions
#cleanup[1
] _warnings
#cleanup sys
#cleanup builtin
#cleanup ints: 6 unfreed ints
#cleanup floats
When I do dir C:\\Python27\\Lib\\site.py*
I get the following:
C:\\Users\\Mimminito>dir C:\\Python27\\Lib\\site.py*
Volume in drive C has no label.
Volume Serial Number is DAB9-A863
Directory of C:\\Python27\\Lib
13/11/2010 20:08 20,389 site.py
1 File(s) 20,389 bytes
0 Dir(s) 694,910,976 bytes free
Any ideas?
回答1:
Hey, I\'ve been looking into this problem for myself for almost a day and finally had a breakthrough. Try this:
Setting the PYTHONPATH / PYTHONHOME variables
Right click the Computer icon in the start menu, go to properties.
On the left tab, go to Advanced system settings. In the window that comes up, go to the Advanced tab, then at the bottom click Environment Variables. Click in the list of user variables and start typing Python, and repeat for System variables, just to make certain that you don\'t have mis-set variables for PYTHONPATH or PYTHONHOME. Next, add new variables (I did in System rather than User, although it may work for User too): PYTHONPATH, set to C:\\Python27\\Lib. PYTHONHOME, set to C:\\Python27.
Hope this helps!
回答2:
Quick solution: set PYTHONHOME and PYTHONPATH and include PYTHONHOME on PATH
For example if you installed to c:\\Python27
set PYTHONHOME=c:\\Python27
set PYTHONPATH=c:\\Python27\\Lib
set PATH=%PYTHONHOME%;%PATH%
Make sure you don\'t have a trailing \'\\\' on the PYTHON* vars, this seems to break it aswel.
回答3:
I was having this issue after installing both Windows Python and Cygwin Python, and trying to run Cygwin Python from Cygwin. I solved it by export
ing PYTHONHOME=/usr/ and PYTHONPATH=/usr/lib/python2.7
回答4:
Make sure your PYTHONHOME environment variable is set correctly. You will receive this error if PYTHONHOME is pointing to invalid location or to another Python installation you are trying to run.
Try this:
C:\\>set PYTHONHOME=C:\\Python27
C:\\>python
Use
setx PYTHONHOME C:\\Python27
to set this permanently for subsequent command prompts
回答5:
Are you trying to run Windows Python from Cygwin? I\'m having the same problem. Python in Cygwin fails to import site. Python in Cmd works.
It looks like you need to make sure you run PYTHONHOME and PYTHONPATH through cygwin -aw
to make them Windows paths. Also, python seems to be using some incorrect paths.
I think I\'ll need to install python through cygwin to get it working.
回答6:
For Windows 10 (follow up on @slckin answer), this can be set through the command line with:
setx PYTHONHOME \"C:\\Python27\"
setx PYTHONPATH \"C:\\Python27\\Lib\"
setx PATH \"%PYTHONHOME%;%PATH%\"
回答7:
Locate site.py and add its path in PYTHONPATH. This will solve your problem.
回答8:
For me it happened because I had 2 versions of python installed - python 27 and python 3.3. Both these folder had path variable set, and hence there was this issue. To fix, this, I moved python27 to temp folder, as I was ok with python 3.3. So do check environment variables like PATH,PYTHONHOME as it may be a issue. Thanks.
回答9:
If somebody will find that it\'s still not working under non-admin users:
Example error:
ImportError: No module named iso8601
you need to set \'--always-unzip\' option for easy_install:
easy_install --always-unzip python-keystoneclient
It will unzip your egg files and will allow import to find em.
回答10:
I went through the same issue of ImportError: No module named site
while installing python 2.7.11
Initially I had Python2.5 and the PYTHONHOME path was set to Python2.5.
I renamed it to C:\\Python27\\
and it resolved the problem.
回答11:
You may try the Open Source Active Python Setup which is a well done Python installer for Windows.
You just have to desinstall your version and install it...
回答12:
I up voted slckin\'s answer. My problem was that I was thoughtful and added double quotes around the paths. I removed the double quotes in all of the three variables: PYTHONHOME, PYTHONPATH, and PATH. Note that this was in a cmd or bat file to setup the environment for other tools. However, the double quotes may be useful in an icon setting. Typing
set
revealed that the quotes where in the path and not dropped as expected. I also shorted the PATH so that it was less than 256 characters long.
回答13:
In my case, the issue was another site.py file, that was resolved earlier than the one from Python\\Lib, due to PATH setting.
Environment: Windows 10 Pro, Python27.
My desktop has pgAdmin installed, which has file C:\\Program Files (x86)\\pgAdmin\\venv\\Lib\\site.py. Because PATH environment variable had pdAdmin\'s home earlier than Python (apparently a bad idea in the first place), pgAdmin\'s site.py was found first.
All I had to do to fix the issue was to move pgAdmin\'s home later than Python, in PATH
回答14:
I have an application which relies heavily on Python and have kept up-to-date with python 2.7.x as new versions are released. Everthing has been fine until 2.7.11 when I got the same \"No module named site
\" error. I\'ve set PYTHONHOME to c:\\Python27
and it\'s working. But the mystery remains why this is now needed when it wasn\'t with previous releases. And, if it is needed, why doesn\'t the installer set this var?
回答15:
I had the same problem. My solution was to repair the Python installation. (It was a new installation so I did not expect a problem but now it is solved.)
To repair (Windows 7):
- go to Control Panel -> Programs -> Programs and Features
- click on the Python version installed and then press Uninstall/Change.
- follow the instructions to repair the installation.
回答16:
Install yaml from the PyYAML home pagee: http://www.pyyaml.org/wiki/PyYAML
Select the appropriate version for your OS and Python.