Python/IPython ImportError: no module named site

后端 未结 3 941
长情又很酷
长情又很酷 2020-12-08 14:58

I had python 2.7.3 and ipython 1.2 up and running correctly on my Linux system (ubuntu 12.04) but was trying to install a

相关标签:
3条回答
  • 2020-12-08 15:31

    you can unset PYTHONHOME to use the system default, or export PYTHONHOME=/usr to specify the prefix, to which Python will append '/lib/python2.7' (or whatever version it happens to be) to locate its libraries.

    if you export PYTHONHOME=/usr/lib/python2.7, Python looks for libraries in the nonexistent folder /usr/lib/python2.7/lib/python2.7.

    and if you export PYTHONHOME=, you are telling Python to look for lib in the current working directory:

    jcomeau@aspire:~$ PYTHONHOME= strace -estat64 /usr/bin/python
    stat64("lib/python2.7/", 0xff870ee0)    = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7", 0xff870ee0)     = -1 ENOENT (No such file or directory)
    stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
    stat64("lib/python2.7/", 0xff873efc)    = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7/plat-i386-linux-gnu", 0xff870ee0) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7", 0xff870ee0)     = -1 ENOENT (No such file or directory)
    stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
    stat64("lib/python2.7/plat-i386-linux-gnu", 0xff873efc) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7/lib-tk", 0xff870ee0) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7", 0xff870ee0)     = -1 ENOENT (No such file or directory)
    stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
    stat64("lib/python2.7/lib-tk", 0xff873efc) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7/lib-old", 0xff870ee0) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7", 0xff870ee0)     = -1 ENOENT (No such file or directory)
    stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
    stat64("lib/python2.7/lib-old", 0xff873efc) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7/lib-dynload", 0xff870ee0) = -1 ENOENT (No such file or directory)
    stat64("lib/python2.7", 0xff870ee0)     = -1 ENOENT (No such file or directory)
    stat64("lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
    stat64("lib/python2.7/lib-dynload", 0xff873efc) = -1 ENOENT (No such file or directory)
    ImportError: No module named site
    
    0 讨论(0)
  • 2020-12-08 15:32

    PYTHONHOME

    Change the location of the standard Python libraries. By default, the libraries are searched in prefix/lib/pythonversion and exec_prefix/lib/pythonversion, where prefix and exec_prefix are installation-dependent directories, both defaulting to /usr/local.

    When PYTHONHOME is set to a single directory, its value replaces both prefix and exec_prefix. To specify different values for these, set PYTHONHOME to prefix:exec_prefix.

    Try to clean up your PYTHONHOME:

    user$ export PYTHONHOME=
    

    As for installing matplotlib, I would recommend the following:

    sudo apt-get install python-matplotlib
    

    (details here)

    0 讨论(0)
  • 2020-12-08 15:43

    TRY to unset your python path...

    In Linux/Mac, you can use these commands:

    unset PYTHONPATH
    unset PYTHONHOME
    
    0 讨论(0)
提交回复
热议问题