簡體   English   中英

無法將 Python venv 克隆到另一台 PC

[英]Unable to clone Python venv to another PC

我想將我現有的 venv 克隆到另一台 PC,但只是復制粘貼不起作用。 當我復制 venv 並粘貼到第二台機器並運行時

點子列表

它只列出 pip 和 setup_tools 作為已安裝的依賴項。 我嘗試了另一種方法來克隆包。 我在第二台機器上創建了一個新的 venv,並將第一個 venv 的所有文件復制到那個新的 venv,並跳過新 venv 中同名的現有文件。 現在,當我跑

點子列表

它顯示了所有依賴項,但是,當我嘗試將 jupyter notebook 啟動為

jupyter 筆記本

它給出了以下錯誤。

啟動器中的致命錯誤:無法使用“f:\\path\\to\\first_venv\\on_first_machine\\scripts\\python.exe”“C:\\path\\to\\new_venv\\on_the_second_machine\\Scripts\\jupyter.exe”筆記本'創建進程:該系統找不到指定的文件。

我不知道讓事情發揮作用。 請幫忙!

編輯

問題是我在第二台機器上沒有互聯網連接。 實際上它是一台應用了一些安全協議的遠程機器,沒有互聯網連接是安全的一部分! 我的錯 :'(

您不能將 venvs 從一台機器復制粘貼到另一台機器,因為其中的腳本可能會引用系統位置。 (同樣代表試圖在機器內移動 venv。)

相反,在新機器上重新創建環境:

  1. 在舊機器上,在 virtualenv 中運行pip freeze -l > packages.txt
  2. packages.txt移到新機器上。
  3. 在新機器上新建一個virtualenv並輸入。
  4. 從 txt 文件pip install -r packages.txtpip install -r packages.txt

編輯:如果您在第二台機器上沒有互聯網訪問權限,您可以從第 2 步繼續:

  1. 在第一台機器上的 venv 中運行pip wheel -w wheels -r packages.txt 這將為您需要的所有包下載並構建*.whl包。 請注意,這假設兩台機器在操作系統和架構上相似!
  2. 將車輪文件復制到新機器上。
  3. 在新機器上新建一個virtualenv並輸入。
  4. 在新的 virtualenv 中從輪子安裝包: pip install *.whl

您永遠不應該在機器之間復制虛擬環境。 正確的方法是使用pip freeze導出環境中安裝的依賴,並在另一台機器上創建一個新的虛擬環境。

# One the first machine
pip freeze > requirements.txt
# Copy requirements.txt to the other machine, or store in a source repository
# Then install the requirements in the new virtual environment
pip install -r requirements.txt

暫無
暫無

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

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