Плохая математика со значением, умноженным на -1?

Эта процедура устанавливает Python2.7 в любом месте и исключает любые абсолютные ссылки на пути в вашей папке env (управляется virtualenv) . Даже virtualenv не установлен абсолютно.

Таким образом, теоретически вы можете отбросить каталог верхнего уровня в архив, распространить и запустить все, что настроено в tarball на машине, на которой нет Python (или любых зависимостей) .

Свяжитесь со мной по любым вопросам. Это всего лишь часть текущего, более масштабного проекта, который я разрабатываю. Теперь для капли ...

  1. Настроить папки среды.
    $ mkdir env
    $ mkdir pyenv
    $ mkdir dep
    
  2. Получите Python-2.7.3 и virtualenv без установки корневой ОС.
    $ cd dep
    $ wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
    $ wget https://raw.github.com/pypa/virtualenv/master/virtualenv.py
    
  3. Извлеките и установите Python-2.7.3 в директорию pyenv. make clean является необязательным, если вы делаете это 2-е, 3-е, N-е время ...
    $ tar -xzvf Python-2.7.3.tgz
    $ cd Python-2.7.3
    $ make clean
    $ ./configure --prefix=/path/to/pyenv
    $ make && make install
    $ cd ../../
    $ ls
    dep    env    pyenv
    
  4. Создайте свой virtualenv
    $ dep/virtualenv.py --python=/path/to/pyenv/bin/python --verbose env
    
  5. Исправьте символическую ссылку на python2.7 в env/include/
    $ ls -l env/include/
    $ cd !$
    $ rm python2.7
    $ ln -s ../../pyenv/include/python2.7 python2.7
    $ cd ../../
    
  6. Исправить оставшиеся символические ссылки на python в env. Вам придется удалить символически связанные каталоги и воссоздать их, как указано выше. Кроме того, вот синтаксис для принудительного создания символической ссылки на месте.
    $ ls -l env/lib/python2.7/
    $ cd !$
    $ ln -sf ../../../pyenv/lib/python2.7/UserDict.py UserDict.py
    [...repeat until all symbolic links are relative...]
    $ cd ../../../
    
  7. Тест
    $ python --version
    Python 2.7.1
    $ source env/bin/activate
    (env)
    $ python --version
    Python 2.7.3
    

Aloha.

-8
задан glennsl 14 August 2018 в 16:51
поделиться