ошибка при установке virtualenv с другим питоном - PullRequest
24 голосов
/ 15 февраля 2011

Мой сервер имеет Python2.5 Я хочу перейти на новейший Python (2.7.x в моем случае). Я скомпилировал Python из исходного кода, я скачал новейший virtualenv (1.5.1).

Теперь в основном то, что я пытаюсь сделать:

./packages/virtualenv/virtualenv.py --python=packages/Python-2.7/python env/

Typing:

./packages/virtualenv/virtualenv.py

Обеспечивает:

1.5.1

во время набора текста:

packages/Python-2.7/python

Обеспечивает:

Python 2.7 (r27:82500, Nov 21 2010, 23:19:15) 
[GCC 4.3.2] on linux2
(cut help mesage)
>>>

Однако выполнение virutalenv приводит к:

AssertionError: Имя файла /packages/Python-2.7/Lib/os.py не начинается с любого из этих префиксов: ['/ usr / local']

Что бы это ни значило и что бы я ни делал, я не делаю неправильно.

P.S. При сборке env + python я основывался на вопросе: Как мне обойти эту проблему, создавая среду virtualenv с пользовательской сборкой Python?

Ответы [ 3 ]

51 голосов
/ 15 февраля 2011

После прочтения и возни с это .

Я обнаружил, что эта ошибка может быть связана с отсутствием --prefix при запуске ./configure для python. Итак, я запустил ./configure --prefix=/Path/To/Where/I/Want/Python/After/Compilation/ (в моем случае $HOME/packages/Python-2.7), затем набрал make, затем make install (без использования sudo - поэтому python был благополучно помещен туда, где я сказал, что текущий пользователь не root ). После этого посвящение в virtualenv не прекращалось с AssertionError, и все работало как заклинание.

Надеюсь, что ответ на этот вопрос автора в конечном итоге кому-нибудь поможет. :)

18 голосов
/ 04 февраля 2015

Мне не хватает представителя, чтобы добавить это в качестве комментария, и этому вопросу уже 3 года, но это может быть полезно для кого-то.В Windows вы должны указать путь к python.exe , но, похоже, в Linux / OS X вы просто указываете путь к папке.Пример:

Windows:

virtualenv -p <PATH TO PYTHON.EXE> venv

Создает виртуальную среду в подпапке "venv" в текущем каталоге.

1 голос
/ 01 октября 2015

Мне не хватает представителя, чтобы добавить комментарий. Ответ Майка спаси мой день.Я использую Windows.

Я получаю сообщение об ошибке:

AssertionError: Filename C:\Python35\Lib\os.py does not start with any of these prefixes: ['c:\\python35', 'c:\\python35']

Я должен был запустить это -

virtualenv -p C:\Python35\python.exe venv

также нужно запустить это из cmdоткрыт как администратор.В противном случае получите ошибку

PermissionError: [WinError 5] Access is denied

Кто-то, у кого достаточно повторений, чтобы прокомментировать, пожалуйста, добавьте это в Mike's ответ в качестве комментария.Я тогда очищу свою.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...