2013-03-16 28 views
11

próbuję się dowiedzieć, dlaczego mój virtualenv i/lub virtualenv wrapper - zainstalowany przy użyciu pip użyciu homebrew - nie można znaleźć. Myślę, że to dlatego, że nie jest dodawany do mojego PATH:Jak dodać virtualenv do ścieżki

$ which virtualenv 
$ 

oraz:

$ virtualenv someDir 
$ -bash: virtualenv: command not found 

zainstalowałem pip korzystając homebrew i virtualenv użyciu pip, bez problemów. Próbowałem ponownie zainstalować virtualenv, ale to też nie działa. Skąd wiadomo, jaką ścieżkę dodać do PATH? Tylko ścieżka, do której wydaje się być zainstalowana virtualenv.py? To wydaje się być:

/usr/local/lib/python2.7/site-packages/virtualenv.py 

Znalazłem również this guide, co sugeruje to:

$ ln -s ../Cellar/python/2.7/Frameworks/Python.framework/Versions/2.7/bin/virtualenv virtualenv 

Jednak to nie pomoże mi uruchomić virtualenv. Jestem na Mac OSX 10.7.5 (Lion).

+4

To nie jest kwestia ścieżki. Pip umieszcza plik wykonywalny o nazwie 'virtualenv' w'/usr/local/bin/'po pomyślnym zainstalowaniu. Spróbuj 'pip uninstall virtualenv', a następnie ponownie zainstaluj' sudo pip install virtualenv'. 'sudo', ponieważ musisz zainstalować go w globalnym zasięgu. –

+0

@Bibhas, ale jeśli załaduję launchd.conf, mam/usr/local/bin dodany do mojej ścieżki, więc powinienem móc po prostu użyć virtualenv w bashu, prawda? lub pip tylko umieścić go tam, gdy używasz sudo? gdzie mogłem znaleźć te informacje? –

+0

@Bibhas próbowałem co sugeruje, zrobiłem: + $ pip odinstalować virtualenv + $ pip odinstalować virtualenvwrapper + $ sudo pip zainstalować virtualenv + $ cd/usr/local/bin/ + $ znaleźć virtualenv + odnaleźć : virtualenv: Brak takiego pliku lub katalogu '' Coś tu idzie nie tak? to miałoby sens ... ale dlaczego? –

Odpowiedz

12

Wygląda na to, że sam jestem wyjątkiem dla reguły dla prawie wszystkich "prostych" procedur instalacyjnych. Z jakiegoś powodu był to problem związany ze ścieżką:

Uruchomiłem brew info python, który wygenerował wiele informacji. Na dnie znalazłem to:

Executable python scripts will be put in: 
/usr/local/share/python 
so you may want to put "/usr/local/share/python" in your PATH, too. 

I dodał, że na mojej ścieżce w /etc/launchd.conf i ~/.bashrc i oto:

$ which virtualenv 

mówi mi:

"/usr/local/share/python/virtualenv" 

wciąż don” wiesz dlaczego nie znalazłem żadnych wskazówek we właściwym kierunku, online, gdziekolwiek? Czy plik pip install virtualenv ma zostać dodany do samej ścieżki PATH? Jeśli tak, to dlaczego nie w moim systemie? Dlaczego @bibhas powiedział mi wyraźnie, że to nie był problem z ścieżką?

+1

Zabawna przyczyna brew właśnie kazała mi usunąć to z mojej ścieżki, ponieważ działa teraz inaczej, ale wtedy nie mogłem już używać virtualenv .. – Claudiu

+0

Dzięki za dobrze napisane rozwiązanie, całkowicie rozwiązałem mój problem. – aendrew

-1

Moduł w /usr/local/lib/python2.7/site-packages jest importowany przez krótki skrypt, który używa pkg_resources.load_entry_point do uruchomienia aplikacji. Skrypt narzędziowy powinien znajdować się w /usr/local/bin.

+2

Przykro mi, ale moje pip/bash fu nie jest wystarczająco dobre, aby zrozumieć twoje rozwiązanie, czy mógłbyś je rozwinąć? –

2

W .bashrc trzeba mieć:

export WORKON_HOME=~/.virtualenvs 
source /usr/local/bin/virtualenvwrapper.sh 
+0

Kiedy próbuję tego (umieściłem to w obu .bashrc, który musiałem stworzyć, i .bash_profile), mówi mi to: -bash:/usr/local/bin/virtualenvwrapper.sh: Nie ma takiego pliku lub katalogu –

+0

, a następnie otwórz nową powłokę bash: 'bash' lub zamknij i otwórz ponownie terminal – northben

0

To rozwiązanie daje alternatywne narzędzie do wykorzystania i rozwiązać swój problem virtualenv w tym samym czasie.

Użyj pythonbrew. Zainspirowany jest on wersją rvm w świecie ruby ​​i jest pomocny w zarządzaniu pythonami w twoim systemie, a także zawiera polecenia virtualenv zapewniające zarządzanie środowiskiem wirtualnym. Używam tego Mountain Lion do moich celów rozwojowych i nie miałem żadnych problemów. Więcej szczegółów (na moim blogu): http://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/

+0

Myślę, że to jest miłe, jeśli działa po wyjęciu z pudełka, ale 1) to obejście mojego problemu, i 2) nie mogę go zainstalować używając homebrew, który od kilku miesięcy lubię jako menedżer pakietów :) –

+0

to mogłem się spodziewać: jeśli ściągnę pythonbrewm, który bazuje na virtualenv, i spróbuję go użyć, zgadnij co: ** '' futuremaggel: ~ supermaggel $ pythonbrew -bash: pythonbrew: nie znaleziono polecenia futuremaggel: ~ $ supermaggel który pythonbrew futuremaggel: ~ supermaggel $ '' ** nie zna polecenia lub nie może go znaleźć .. ten sam problem, co mam z virtualenv. –

5

miał ten sam problem po pip install virtualenv

Kiedy kontrolowane pytona ls -la /usr/local/bin/python znalazłem został symbolicznie związana /Library/Frameworks/Python.framework/Versions/2.7/bin/python

Kiedy cd I w tym katalogu Znalazłem również wykonywalny virtualenv i

naprawił przez

  1. cd /Library/Frameworks/Python.framework/Versions/2.7/bin
  2. ln virtualenv /usr/local/bin/virtualenv

Sidenote: Ja też się zdarzyć, aby mieć instalację Pythona /System/Library/Frameworks/Python.framework/Versions/2.7/bin

wierzę, że to ten, który przyszedł z OSX

+0

Pracowałem dla mnie. Jestem ciekawy, co spowodowało, że skończy się w tym stanie. –

0

Mój pomysł jest, aby dodać swoją pozycję virtualenv do PATH BASH

export PATH=$PATH:/usr/local/python2.7/bin lub ustaw

1

Rozwiązałem go: Najpierw znajdź go w/usr/local/python3 , a następnie naprawię go komendą: ln virtualenv/usr/local/bin/virtualenv

Powiązane problemy