Comment puis-je réparer mon virtualenv?
J'ai juste mis à niveau vers OS X Mountain Lion et il a tué la plupart de mon environnement Python. J'ai réinstallé distribuer 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
) à partir de zéro. Puis j'ai installé virtualenv
et virtualenvwerapper
via pip
sans erreur, mais la commande virtualenv ENVTEST
est un échec comme suit:
$ 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
Ma meilleure supposition est que cela a à voir avec le fait que j'ai eu des problèmes lors de l'installation distribute
et pip
jusqu'à ce que j'ai ajouté le --prefix
argument. Mais maintenant, alors que le pip est un programme de travail, c'est de ne pas installer au bon endroit.
Mise à JOUR
pip installé une ancienne version de virtualenv. J'ai couru pip install -U virtualenv
et cela a fonctionné sans accroc. Encore une erreur, mais une erreur différente, maintenant.
$ 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
De sorte qu'il ressemble à mon PYTHONPATH est en quelque sorte masquée dans l'environnement virtualenv est en train de construire. Cela devrait être facile à corriger, non?
- Vous dites "ils ont tué mon environnement Python" mais vous n'expliquez pas que de l'environnement. À l'aide du fournisseur de Python? Brew installé? Les autres?
- Avant la mise à niveau, pip et virtualenv ont été de travailler sur le système par défaut de Python. J'ai un certain nombre déjà virtualenvs qui fonctionnent très bien, mais je ne peux pas créer de nouveau virtualenvs. Je ne me souviens pas comment j'ai installé le pep et le virtualenv précédemment.
Vous devez vous connecter pour publier un commentaire.
C'est un problème avec distutils. J'ai supprimé $HOME/.pydistutils.cfg et a couru
sudo setup.py install
pour obtenir distribuer au bon endroit, puissudo setup virtualenv
qui l'a placé dans le site approprié-répertoire packages pour les MacPorts version de Python 2.7. Maintenant je peux courirvirtualenv TestEnv
sans aucun problème.Je fais face à un même Problème lors de l'installation de centos sur VPS et mon mac.
J'ai trouvé la solution, Si vous ne l'exportation du code après pip install il sera surviennent. La solution est:
écrire la ligne de commande: qui pip
spectacle: "/usr/bin/pip " comme ceci
puis exécutez ce code sur la ligne de commande : export PATH="/usr/bin:$PATH"
J'espère que cela va aussi travailler pour vous
Je ne suis pas sûr que je n'ai pas testé mes pensées.
Le code suivant pour un package installe le
library at /x/lib/python2.x/site-packages
et lascripts at /x/bin
De sorte que vous ne devriez pas faire de
python setup.py install --prefix /x/lib/python2.x/site-packages
Aussi essayer de voir les scripts
pip
etvirtualenv
utilisent-ils le droit de python binaire. Le shebang dans les scripts vont vous le dire. si pas, ils peuvent être en utilisant une distribution différente.Le script ci-dessus se réfère à une distribution avec les binaires situé à
/usr/local/bin/python
.Sur un système, vous pouvez avoir plusieurs distributions de python co-existantes.