How can I fix my virtualenv?

12,410

Solution 1

It's a problem with distutils. I deleted $HOME/.pydistutils.cfg and ran sudo setup.py install to get distribute in the right place, then sudo setup virtualenv which placed it into the appropriate site-packages directory for the MacPorts version of Python 2.7. Now I can run virtualenv TestEnv without any problems.

Solution 2

I face same Problem when setup the centos on VPS and my mac.

I found out the solution, If you not export some code after pip install it will be arise. The solution step is:

write command line: which pip show : '/usr/bin/pip' like this then run this code on command line : export PATH="/usr/bin:$PATH"

I hope that will also work for you

Share:
12,410
selfsimilar
Author by

selfsimilar

Currently working in educational software

Updated on June 04, 2022

Comments

  • selfsimilar
    selfsimilar about 2 years

    I just upgraded to OS X Mountain Lion and it killed most of my Python environment. I've reinstalled distribute 0.6.28 (python distribute_setup.py install --prefix ~/Library/Python/2.7/site-packages) & pip 1.1 (python setup.py install --prefix ~/Library/Python/2.7/site-packages) from scratch. Then I installed virtualenv and virtualenvwerapper via pip without error, but the command virtualenv ENVTEST is failing as follows:

    $ virtualenv ENVTEST
    New python executable in TESTENV/bin/python
    Please make sure you remove any previous custom paths from your /Users/x/.pydistutils.cfg file.
    Installing setuptools.................done.
    Installing pip....
    Complete output from command /Users/csh401/TESTENV/bin/python /Users/x/TESTENV/bin/easy_install /Users/x/Librar...ort/pip-1.0.2.tar.gz:
    /Users/x/TESTENV/bin/python: can't open file '/Users/x/TESTENV/bin/easy_install': [Errno 2] No such file or directory
    ----------------------------------------
    ...Installing pip...done.
    Traceback (most recent call last):
      File "/Users/x/bin/virtualenv", line 9, in <module>
        load_entry_point('virtualenv==1.7.2', 'console_scripts', 'virtualenv')()
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 942, in main
        never_download=options.never_download)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 1054, in create_environment
        install_pip(py_executable, search_dirs=search_dirs, never_download=never_download)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 654, in install_pip
        filter_stdout=_filter_setup)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 1020, in call_subprocess
        % (cmd_desc, proc.returncode))
    OSError: Command /Users/x/.virtualenvs/env1/bin/python -x /Users/x/.virtu...nv1/bin/easy_install /Users/x/Librar...pport/pip-1.1.tar.gz failed with error code 2
    

    My best guess is that it has to do with the fact that I was having trouble installing distribute and pip until I added the --prefix argument. But now while pip is working, it's not installing to the right location.

    UPDATE

    pip installed an older version of virtualenv. I ran pip install -U virtualenv and this ran without a hitch. Still getting an error, but a different error, now.

    $ virtualenv -vvv TESTENV
    Creating TESTENV/lib/python2.7
    Symlinking Python bootstrap modules
      Symlinking TESTENV/lib/python2.7/config
      Symlinking TESTENV/lib/python2.7/lib-dynload
      Symlinking TESTENV/lib/python2.7/os.py
      Ignoring built-in bootstrap module: posix
      Symlinking TESTENV/lib/python2.7/posixpath.py
      Cannot import bootstrap module: nt
      Symlinking TESTENV/lib/python2.7/ntpath.py
      Symlinking TESTENV/lib/python2.7/genericpath.py
      Symlinking TESTENV/lib/python2.7/fnmatch.py
      Symlinking TESTENV/lib/python2.7/locale.py
      Symlinking TESTENV/lib/python2.7/encodings
      Symlinking TESTENV/lib/python2.7/codecs.py
      Symlinking TESTENV/lib/python2.7/stat.py
      Symlinking TESTENV/lib/python2.7/UserDict.py
      File TESTENV/lib/python2.7/lib-dynload/readline.so already exists
      Symlinking TESTENV/lib/python2.7/copy_reg.py
      Symlinking TESTENV/lib/python2.7/types.py
      Symlinking TESTENV/lib/python2.7/re.py
      Symlinking TESTENV/lib/python2.7/sre.py
      Symlinking TESTENV/lib/python2.7/sre_parse.py
      Symlinking TESTENV/lib/python2.7/sre_constants.py
      Symlinking TESTENV/lib/python2.7/sre_compile.py
      File TESTENV/lib/python2.7/lib-dynload/zlib.so already exists
      Symlinking TESTENV/lib/python2.7/warnings.py
      Symlinking TESTENV/lib/python2.7/linecache.py
      Symlinking TESTENV/lib/python2.7/_abcoll.py
      Symlinking TESTENV/lib/python2.7/abc.py
      Symlinking TESTENV/lib/python2.7/_weakrefset.py
    Creating TESTENV/lib/python2.7/site-packages
    Writing TESTENV/lib/python2.7/site.py
    Writing TESTENV/lib/python2.7/orig-prefix.txt
    Writing TESTENV/lib/python2.7/no-global-site-packages.txt
    Creating parent directories for TESTENV/include
    Symlinking TESTENV/include/python2.7
    Creating TESTENV/bin
    New python executable in TESTENV/bin/python
    Changed mode of TESTENV/bin/python to 0755
    MacOSX Python framework detected
    Symlinking TESTENV/.Python
    Testing executable with TESTENV/bin/python -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
    Got sys.prefix result: u'/Users/x/TESTENV'
    Please make sure you remove any previous custom paths from your /Users/x/.pydistutils.cfg file.
    Creating TESTENV/lib/python2.7/distutils
    Writing TESTENV/lib/python2.7/distutils/__init__.py
    Writing TESTENV/lib/python2.7/distutils/distutils.cfg
    Using existing distribute egg: /Users/x/Library/Python/2.7/site-packages/virtualenv_support/distribute-0.6.27.tar.gz
    Installing distribute...
      Running command /Users/x/TESTENV/bin/python -c "#!python
    \"\"\"Bootstra... main(sys.argv[1:])
    " -v --always-copy -U distribute
      Extracting in /var/folders/97/bds2slvx25s53xx1b_strvfs4xdq4b/T/tmpbqvjfq
      Now working in /var/folders/97/bds2slvx25s53xx1b_strvfs4xdq4b/T/tmpbqvjfq/distribute-0.6.27
      Installing Distribute
      running install
      Checking .pth file support in /Users/x/Library/Python/2.7/site-packages/
      /Users/x/TESTENV/bin/python -E -c pass
      TEST FAILED: /Users/x/Library/Python/2.7/site-packages/ does NOT support .pth files
      error: bad install directory or PYTHONPATH
    
      You are attempting to install a package to a directory that is not
      on PYTHONPATH and which Python does not read ".pth" files from.  The
      installation directory you specified (via --install-dir, --prefix, or
      the distutils default setting) was:
    
          /Users/x/Library/Python/2.7/site-packages/
    
      and your PYTHONPATH environment variable currently contains:
    
          ''
    
      Here are some of your options for correcting the problem:
    
      * You can choose a different installation directory, i.e., one that is
        on PYTHONPATH or supports .pth files
    
      * You can add the installation directory to the PYTHONPATH environment
        variable.  (It must then also be on PYTHONPATH whenever you run
        Python and want to use the package(s) you are installing.)
    
      * You can set up the installation directory to support ".pth" files by
        using one of the approaches described here:
    
        http://packages.python.org/distribute/easy_install.html#custom-installation-locations
    
      Please make the appropriate changes for your system and try again.
      Something went wrong during the installation.
      See the error message above.
    ...Installing distribute...done.
    Installing existing pip-1.1.tar.gz distribution: /Users/x/Library/Python/2.7/site-packages/virtualenv_support/pip-1.1.tar.gz
    Installing pip...
      Running command /Users/x/TESTENV/bin/python -x /Users/x/TESTENV/bin/easy_install /Users/x/Librar...pport/pip-1.1.tar.gz
      /Users/x/TESTENV/bin/python: can't open file '/Users/x/TESTENV/bin/easy_install': [Errno 2] No such file or directory
      Complete output from command /Users/x/TESTENV/bin/python -x /Users/x/TESTENV/bin/easy_install /Users/x/Librar...pport/pip-1.1.tar.gz:
      /Users/x/TESTENV/bin/python: can't open file '/Users/x/TESTENV/bin/easy_install': [Errno 2] No such file or directory
    ----------------------------------------
    ...Installing pip...done.
    Traceback (most recent call last):
      File "/Users/x/bin/virtualenv", line 9, in <module>
        load_entry_point('virtualenv==1.7.2', 'console_scripts', 'virtualenv')()
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 942, in main
        never_download=options.never_download)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 1054, in create_environment
        install_pip(py_executable, search_dirs=search_dirs, never_download=never_download)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 654, in install_pip
        filter_stdout=_filter_setup)
      File "/Users/x/Library/Python/2.7/site-packages/virtualenv.py", line 1020, in call_subprocess
        % (cmd_desc, proc.returncode))
    OSError: Command /Users/x/TESTENV/bin/python -x /Users/x/TESTENV/bin/easy_install /Users/x/Librar...pport/pip-1.1.tar.gz failed with error code 2
    

    So it looks like my PYTHONPATH is somehow blanked out in the environment virtualenv is trying to build. That should be easy to fix, right?