私は私のLinuxボックス上のPythonビルドを更新したいのですが、私が知っている唯一の方法は、現在のバージョンをアンインストールして新しいバージョンをインストールすることです。私のシステムはすでに最新の状態になっています(昨日更新しました)。私はsudo apt-get update <program-name>
のように、コマンドラインから特定のプログラムを更新する方法があるかどうかを知りたいと思いました。私はこのコマンドが存在しないことを知っていますが、私は何か同等のものがあることを期待しています
91 efficiencyIsBliss 2011-02-04
他の人がすでに指摘しているように、bare sudo apt-get install package
は最新の利用可能なバージョンをインストールし、必要に応じて古いバージョンを置き換えます
しかし、いくつかのソフトウェア(その中でも特にPython)では、状況は多少異なります。いくつかの主要な、非常に、そして互換性のない異なるバージョンは、独自のパッケージを取得します。例えば、Python 2.6、Python 2.7、Python 3.1はすべてUbuntu上では別々のパッケージで動作しています
特に重要なのは、Ubuntuのポリシーの1つが、エンドユーザーのソフトウェアを書くためにPythonを広範囲に使用することであるという事実です。だから実際には、システムのかなり大きな部分がPythonで書かれています。現時点では、コードはPython 2.6で実行されます – このバージョンはインストール時のデフォルトです; そして、コードは簡単には実行されません、例えば、Python 2.7 – 非互換性が存在するため。システムをPython 2.7に切り替えるには、すべてのスクリプトを更新して再テストするという作業が必要です。これは簡単にはできません。つまり、システムをPython 2.7に “切り替え “て古いバージョンを削除することはできません
しかし、もしあなたがシステムの派手なギアを気にせず、新しいPythonを必要としているのであれば、何の障害もありません。勇敢に3.x Pythonのために行くとsudo apt-get install python3
とコード;ちょうどpython3
と#!/usr/bin/env python3
shebang行を使用してスクリプトを起動することを覚えています
更新: 私はこれを見続けています upvoted; これは9歳の答えであることに注意してください、物事は変わっています
次に学ぶべきこと
スーパーユーザー視点(Pythonの開発者ではない)で見ると、次は使いこなせるようになるといいですね
pip
/pip3
/python3 -m pip
– これは Python のnpm
です。クイックヒント:pip3 install --user howdoi
を試してみてください (動作する前に一度apt install python3-setuptools python3-pip
を実行する必要があるかもしれません)virtualenv
ツール。100% 開発者向けですが、人々のソースパッケージを扱うには、(おそらくtox
のようないくつかのラッパーの下で) これを使う必要があるでしょう。 Ruby のbundler
や Cabal のサンドボックスがお馴染みかもしれませんconda
ツール – Python パッケージのリポジトリとインストーラを完全に分離したもの (PyPi のフォークと考えてください)
2020年のPythonエコシステムには、humongousさまざまなツールがあります。最低限、pip
を使って快適になってから深堀りしましょう
Basic pitfalls
勇気はあるが油断はできない人のために、Ubuntuで新しいCPythonを手動で設定しようとしたときのいくつかの落とし穴を紹介します
見てもいいが、触ってはいけない。
dpkg
に任せておけば、混乱を避けることができます。あなたは/usr/local
全体を自由に使うことができますsudo chown -R `whoami` /usr/local pip3 install --prefix=/usr/local pydf
ソースからCPythonをコンパイルすることはウェブ上でよく説明されています。これはCPython自体のパッチやプレリリース(アルファビルド、RCビルド)を手動でテストするのに最適な方法です。ビルドされた成果物を消去するには、
rm -rf /usr/local/*; sudo ldconfig
をつけてくださいPPAを見つけることもまともな選択肢ですが、PPAは他の誰かのプライベートビルドであることを念頭に置いてください。CI/CDが動作している信頼できるPPAを探してください
73 ulidtko 2011-02-05
sudo apt-get install python 3.3.3
これは python(3.3.3) のためのもので、バージョンが異なる場合は対応するバージョン番号を使用する必要があります
19 Mrinal 2015-04-19
sudo apt-get install python3.6
これはPython 2.To access python 3にアクセスするには、ターミナルを開いた後に入力して、Python 3をlinuxにインストールします
python3
10 G-Ox7cd 2017-01-16
sudo apt-get update
のようなコマンドを考えると近いですね(実際のコマンドですが、思い通りにはなりません)
Pythonをアップグレードしたり、インストールしたものをすべてアップグレードしたりするには、コマンドを実行するだけです
sudo apt-get upgrade
5 Wuffers 2011-02-04
姉妹サイトより。https://askubuntu.com/questions/44122/how-to-upgrade-a-single-package-using-apt-get
これらのコマンドはインストールごとに更新しますが、多くの場合はうまく動作するはずですが、特定のケースでは探しているものではないかもしれません
特定のパッケージだけをアップグレードしたい場合や、すでにインストールされている場合にのみアップグレードしたい場合は、コマンドを使用してください
sudo apt-get install --only-upgrade packagename
3 music2myear 2016-11-19
2.7.11+t0 2.7.12のようなマイナーバージョンのPythonパッケージだけをアップグレードしたい場合は、sudo apt-get install python2.7
を実行してください
3 Senthil Kumar Vaithiyanathan 2017-01-01
pyenvがいいかもしれません。https://github.com/yyuu/pyenv
@ulidtkoさんの回答に関しては、システムのpythonを完全に置き換える代替案として、希望するpythonのバージョンで隔離された環境を使用することが考えられます。これは “仮想環境” に似ていますが、python 自体のためのものです。私は過去にpython 2.6で動作するレガシープロジェクトや、レガシーバージョンのpythonからpython3にアップグレードする際にこれを使用してきました
2 nicefinly 2016-02-14
apt-get install python
これで動くはずです。リポジトリ内の適切なパッケージ名に合わせて ‘python’ を変更する必要があります
1 mbreedlove 2011-02-04
Pythonは3.5バージョンが付属していることは周知の通りです。Python 2.7(Ubuntu 16.04にデフォルトで入っている)をPython 3.5にアップデートするのは非常に簡単です
以下の手順に従ってください
- Open terminal.
- sudoコマンドでrootユーザになります
以下のコードを使用して、Python 2.7を3.5にアップデートします
sudo apt-get install python3.5
あなたの許可を求められますので、オプションYを与えます
- プロセスが完了するまで待ちます
- コマンド
clear
で画面をクリアする pythonのバージョンを確認するには、以下のコマンドを実行します
python -version
1 Big Data Guy 2016-11-04
LTS のバージョンを実行している場合、あなたの python は 2.7.10 の代わりに 2.7.5 といったマイナーなバージョンで遅れているかもしれません
一つの可能性としては、システムをアップグレードすることでしょう
prompt=normal
を/etc/update-manager/release-upgrades
にセットする- システムをアップグレードする
- コマンドラインで
sudo do-release-upgrade
と入力すると、アップグレードマネージャが最新の (=非LTSの) バージョンにアップグレードするように仕事をしてくれます - GUI ソリューションは 更新マネージャ を使用しています
- コマンドラインで
アップグレードするときはいつものように、リリースノートを見てください, アップグレードはいくつかのケースでシステムを壊す可能性があるので、@Gino のコメントを参照してください
0 serv-inc 2015-11-25