オフライン導入Djangoプロジェクトをネットワーク環境なしに移行
既存の環境 CentOS 6 Python 3 Django 1.11
主に次の3つのコマンドを使用します.
事前準備
(1)requirements.txt依存ファイルプラットフォームに注意してください.windowsがオフラインでダウンロードしたオフラインパッケージはwindowsにのみ適用されます.macOS、Linuxも同じです. CentOS 6とCentOS 7も違います.前者がダウンロードしたオフラインパッケージも後者には適用されません.そうしないと、オフラインインストール時にエラーが発生します.
上の2点に対応してから、オフラインパッケージをダウンロードし、イントラネットマシンに移行します.
オフラインホストインストールPython 3
システムはPython 2を持っているからです.6ですが、Python 3をインストールするには適用され、Python 2をインストールすることはできません.
Python 3をインストールし、コマンド
ここでは、pyenvを使用してPython 3がインストールされていると仮定する
オフラインパッケージのインストール
オフラインパッケージ所在ディレクトリ:offlinePackagesインストールコマンド:
その他はvenv仮想ディレクトリを一括パッケージ化しようと試みたが、 には必ずPython解釈器が存在しなければなりません.そうしないと、仮想ディレクトリがアクティブになっても使えません.
添付:pyenvをオフラインでインストールする方法
ネットのホストの上で先にダウンロードします
1、このコマンドを使用するのは主にサボって、便利で使いやすい:
2、それともネットホスト上にpyenvの環境変数を書き込むか:
3、欲しいPythonバージョンをインストールする.例えば
エラーが発生した場合は、システムレベルの依存関係がインストールされていない場合は、次のように試してみてください(Pythonの依存関係がインストールされています).
4、インストールに成功した後、pyenvのディレクトリ:
(ここまで書くと、別の考え方でオフラインでインストールできることに気づきました.pyenvがインストールされたら、あなたが望むPythonバージョンに直接切り替えます.このときpipも切り替えに対応します.このときpipを使ってrequiremans.txtの中のパッケージを直接インストールします.これらのパッケージはすべて.pyenvディレクトリの下にインストールされているからです.そして、直接パッケージを無網機械にアップロードします.しかし、このような欠点があります.ポイントは、事前にインストールされたパッケージがグローバルであり、その後に新しい、別のバージョンのパッケージがインストールされると混乱するため、現在のpyenvが固定されたパッケージバージョンを使用していることを確認する必要があります.
後患のないやり方は:1、pyenvを使ってPythonバージョンを切り替える;2、仮想ディレクトリを作成する;3、仮想ディレクトリをアクティブ化する;4、オフラインパッケージを取り付ける——この時、オフラインパッケージこそ隔離された環境に取り付けられ、局所的なパッケージでもある.
)
主に次の3つのコマンドを使用します.
#
pip freeze > requirements.txt
#
pip download -d packagesDir -r requirements.txt
#
whl 、tgz
、
pip install --no-index --find-links="packages_dir" -r requirements.txt
事前準備
(1)requirements.txt依存ファイル
pip freeeze > requirements.txt
(2)オフラインパケットダウンロード(ピットあり)ダウンロードコマンド:pip download -d /dir/of/packagesDir -r requirements.txt
注意、次の2つはとても肝心です!!!上の2点に対応してから、オフラインパッケージをダウンロードし、イントラネットマシンに移行します.
オフラインホストインストールPython 3
システムはPython 2を持っているからです.6ですが、Python 3をインストールするには適用され、Python 2をインストールすることはできません.
Python 3をインストールし、コマンド
python3 manage.py runserver
を適用すると、一連の問題が発生します.そこでpyenv
ツールを用いて異なるPython解釈器を取り付け,ここではPython 3を取り付ける.ここでは、pyenvを使用してPython 3がインストールされていると仮定する
pyenv
のインストール手順をスキップする.オフラインパッケージのインストール
オフラインパッケージ所在ディレクトリ:offlinePackagesインストールコマンド:
pip install --no-index --find-links="offlinePackages" -r requirements.txt
プロジェクトに必要なオフラインパッケージのインストールが完了し、django-admin
のようなコマンドを正常に使用できます.最後に、djangoのプロファイルなど、データベースパスワードホストipなどを変更する必要があります.その他
source /venv/bin/active
は役に立たず、上記の方法で問題を解決した.添付:pyenvをオフラインでインストールする方法
ネットのホストの上で先にダウンロードします
1、このコマンドを使用するのは主にサボって、便利で使いやすい:
curl https://pyenv.sh | bash
、このステップは.pyenv
ディレクトリ、つまりpyenvツールのディレクトリを得て、それからこのディレクトリをパッケージして、そしてネットのないホストに移行する必要があります.2、それともネットホスト上にpyenvの環境変数を書き込むか:
$ echo 'export PYENV_ROOT="$HOME/.pyenv"'>> ~/.bashrc # , Bash Shell
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"'>> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
3、欲しいPythonバージョンをインストールする.例えば
3.6.5
: pyenv install 3.6.5
エラーが発生した場合は、システムレベルの依存関係がインストールされていない場合は、次のように試してみてください(Pythonの依存関係がインストールされています).
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install gcc
4、インストールに成功した後、pyenvのディレクトリ:
tar -czf pyenv.tgz .pyenv
をパッケージ化し、ネットワークレスホストにアップロードしてインストールします.注意pyenv環境変数を合わせてください.(ここまで書くと、別の考え方でオフラインでインストールできることに気づきました.pyenvがインストールされたら、あなたが望むPythonバージョンに直接切り替えます.このときpipも切り替えに対応します.このときpipを使ってrequiremans.txtの中のパッケージを直接インストールします.これらのパッケージはすべて.pyenvディレクトリの下にインストールされているからです.そして、直接パッケージを無網機械にアップロードします.しかし、このような欠点があります.ポイントは、事前にインストールされたパッケージがグローバルであり、その後に新しい、別のバージョンのパッケージがインストールされると混乱するため、現在のpyenvが固定されたパッケージバージョンを使用していることを確認する必要があります.
後患のないやり方は:1、pyenvを使ってPythonバージョンを切り替える;2、仮想ディレクトリを作成する;3、仮想ディレクトリをアクティブ化する;4、オフラインパッケージを取り付ける——この時、オフラインパッケージこそ隔離された環境に取り付けられ、局所的なパッケージでもある.
)