簡體   English   中英

如何將virtualenv復制到另一台沒有相同解釋器的機器上?

[英]How to copy virtualenv to another machine which doesn't have the same interpreter?

我的本地計算機上有一個virtualenv,我想將此virtualenv復制到同一平台但沒有python3的生產計算機上,無法安裝它。

是否可以將virtualenv和python3解釋器復制到沒有相同python版本的生產機器上?

我嘗試過為virtualenv和pip凍結重定位。 我復制了venv並更改了活動路徑,但無濟於事,因為它找不到解釋器,所以無法運行pip或python命令。

理想情況下,您不要將virtualenv復制到生產機器。 相反,創建一個PEX文件並要求管理員在生產主機上安裝python3。

Virtualenv是開發人員的概念。 當開發人員從事不同的項目時,不同的項目使用不同版本的庫。 Virtualenv提供了針對此類問題的解決方案。

PEX(Python可執行文件)等效於.exe文件。

Anaconda通過以下步驟解決了我的問題:

副本服務器(可以是本地服務器或VM):

  1. 創建一個下載目錄並下載並安裝Anaconda。 將用戶名更改為您的用戶名。 用戶名必須與真實或生產服務器相同!

    mkdir /home/username/download cd /home/username/download wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh bash /home/umut.ataman/Anaconda3-4.3.0-Linux-x86_64.sh

  2. 導出您希望anaconda-python成為的路徑並創建虛擬環境。

    mkdir /data/anaconda/bin export PATH=/data/anaconda/bin:$PATH conda create -n anenv python=3.7.0 anaconda

  3. [可選]激活venv並安裝項目的要求(如果需要在復制之前進行基本安裝)。

    source /data/mavenrepo/anaconda/bin/activate anenv pip install --upgrade pip pip install -r requirements.txt --ignore-installed six

服務器要復制。 -SHH將anaconda目錄復制到真實產品服務器並激活您的venv。 不要忘記檢查python版本。

`scp -r root@10.1.1.1:/data/anaconda/* /data/anaconda/
 source /data/mavenrepo/anaconda/bin/activate anenv
 python -V`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM