Если мне что-то не хватает, вы можете просто использовать find
:
find . -maxdepth 1 -mtime +1 -type f -exec mv {} arc/ \;
Это найдет любой файл старше 1 дня в текущем каталоге и переместите его в каталог "arc".
Редакционное примечание:
Пожалуйста, прочтите комментарии к этому ответу.
Debian не имеет Python 3.6 в своих репозиториях, но при тестировании он есть.
$ sudo nano /etc/apt/sources.list
# add
deb http://ftp.de.debian.org/debian testing main
$ echo 'APT::Default-Release "stable";' | sudo tee -a /etc/apt/apt.conf.d/00local
$ sudo apt-get update
$ sudo apt-get -t testing install python3.6
$ python3.6 -V
Вы просили:
надлежащую и официально принятую процедуру
, но я должен отметить, что это не официальное решение, потому что оно использует тестовые репозитории.
Возможно, вы захотите взглянуть на pyenv
: https://github.com/yyuu/pyenv . Цитирую учебник pyenv
на Amaral Lab:
Ранее известный как Pythonbrew, pyenv позволяет вам изменять глобальную версию Python. версию Python, установить несколько версий Python, установить каталог (проект)-специфические версии Python, и да, создавать/управлять виртуальными окружения Python ("virtualenvs"). Все это делается на машинах в стиле *NIX машинах (Linux и OS X) без зависимости от самого Python, и это работает на уровне пользователя - нет необходимости в командах sudo.
Python 3.6 (хотя rc1
) только что прибыл в экспериментальный Debian. Мне удалось успешно собрать это на стабильной версии Debian (jessie). Смотрите последние шаги сборки, вставленные ниже.
Однако это не означает, что установка будет выполнена успешно, и , а не вызовут проблемы. Следующим разумным шагом было бы протестировать его на тестовой виртуальной машине стабильной версии. Если кому-то интересно, я могу попробовать - или кто-то другой может попробовать.
Соответствующая версия выпуска должна скоро появиться в нестабильном Debian.
dh_builddeb -a
dpkg-deb: building package `python3.6' in `../python3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-venv' in `../python3.6-venv_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-stdlib' in `../libpython3.6-stdlib_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-minimal' in `../python3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-minimal' in `../libpython3.6-minimal_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6' in `../libpython3.6_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dev' in `../python3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dev' in `../libpython3.6-dev_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `python3.6-dbg' in `../python3.6-dbg_3.6.0~rc1-1_amd64.deb'.
dpkg-deb: building package `libpython3.6-dbg' in `../libpython3.6-dbg_3.6.0~rc1-1_amd64.deb'.
dpkg-genchanges >../python3.6_3.6.0~rc1-1_amd64.changes
dpkg-genchanges: including full source code in upload
dpkg-source --after-build python3.6-3.6.0~rc1
dpkg-buildpackage: full upload (original source is included)
Now running lintian...
W: python3.6 source: newer-standards-version 3.9.8 (current is 3.9.6)
N: 56 tags overridden (26 errors, 27 warnings, 3 info)
Finished running lintian.
В репозиториях Debian нет Python 3.6. Вот снимок текущего статуса Python3:
wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32
Вы можете проверить это здесь .
Вы можете установить 3.6 либо из исходного кода, либо используя что-то вроде Linuxbrew для установки в домашний каталог.
Вы можете установить Python-3.6
на Debian 8 следующим образом:
wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6
Рекомендуется использовать make altinstall
согласно официальному сайту.
Если вы хотите, чтобы pip
был включен, вам нужно добавить --with-ensurepip=install
в вызов configure. Более подробную информацию смотрите в ./configure --help
.
Предупреждение:
make install
может перезаписать или замаскировать двоичный файл python.make altinstall
рекомендуется вместоmake install
, поскольку он устанавливает толькоexec_prefix/bin/pythonversion
.
Некоторые пакеты должны быть установлены, чтобы избежать некоторых известных проблем, см: Общие проблемы сборки (обновлено)
Ubuntu/Debian:
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev
Альтернатива libreadline-dev:
sudo apt install libedit-dev
Fedora/CentOS/RHEL (aws ec2):
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel
Альтернатива openssl-devel:
sudo yum install compat-openssl10-devel --allowerasing
Обновление
Вы можете скачать последнюю версию python-x.y.z.tar.gz
с здесь.
Чтобы установить версию python по умолчанию и легко переключаться между ними, вам нужно обновить update-alternatives
с помощью нескольких версий python.
Допустим, вы установили python3.7
на debian stretch, используйте команду whereis python
, чтобы найти двоичный файл (*/bin/python
). например:
/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5
Добавьте версии python:
update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30
Версия python3. 7
с приоритетом 50
теперь ваш python по умолчанию, python -V
выведет:
Python 3.7.0b2
Для переключения между ними используйте:
update-alternatives --config python
Пример вывода:
There are 3 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/bin/python3.7 50 auto mode
1 /usr/bin/python2.7 40 manual mode
2 /usr/bin/python3.5 30 manual mode
3 /usr/local/bin/python3.7 50 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Официальная рекомендация: «Вам на самом деле не нужно более новое программное обеспечение»
Не страдайте синдромом новеньких новинок - DontBreakDebian | Debian Wiki
Большая часть советов на этой странице ориентирована на то, что делать, если вы хотите, чтобы программное обеспечение было доступно для всей системы, но я не думаю, что в данном случае это необходимо.
Если вы извлекаете исходные коды Python, создайте интерпретатор 3.6, используя префикс -
, чтобы контролировать, где он заканчивается, а затем используйте virtualenv
с - python
, то вы можете использовать python 3.6, не влияя ни на что за пределами вашего проекта.
Процесс может выглядеть примерно так:
$ cd ~
$ mkdir pythonroot
$ mkdir opt
$ mkdir app
$ cd opt
$ wget <python tarball>
$ tar -xvf <python tarball>
$ cd python-3.6
$ ./configure --prefix="$HOME"/pythonroot
$ make
$ make install
$ cd ~
$ cd app
$ virtualenv venv --python ~/pythonroot/bin/python
$ . venv/bin/activate
[venv]$ which python
/home/<user>/pythonroot/bin/python
Если вы собираетесь это сделать, вы можете рассмотреть - enable-optimizations
флаг в Python Сценарий configure
, который, кажется, включает некоторые функции, такие как оптимизация на основе профиля. Это увеличивает время сборки, но, судя по некоторым тестам, приводит к более быстрому интерпретатору примерно на 10%.
Я предпочитаю использовать Anaconda или Miniconda , чтобы сохранить последнюю версию python и пакетов, установленных в Debian.
Все это аккуратно хранится в папке, которую очень легко удалить позже, если вы захотите. Установщик также добавляет путь к вашему bashrc (, добавьте его сами, если используете другую оболочку ).
Он поставляется с pip, а также с conda, который является еще одним менеджером пакетов, который может быть полезен для более сложных пакетов, таких как numpy. Miniconda — это простая установка, а Anaconda — это полная установка со многими пакетами, в первую очередь предназначенными для анализа данных.
Быстро:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Прочитайте и примите лицензию, если вы не используете путь добавления bash:export PATH="/home/$USER/miniconda3/bin:$PATH"
Тест:
$ python --version
Python 3.6.0 :: Continuum Analytics, Inc.
Установить из PyPi:
# pip install fava
Установить из conda:
# conda install numpy
Если вы хотите его удалить, удалите папку ~/miniconda3
и путь в файле bashrc.
По состоянию на сентябрь 2019 года последняя стабильная версия Debian (buster )имеет версию python 3.7. Таким образом, правильной и официально принятой процедурой теперь будет обновление до debian buster .