[英]How to copy modules of Python between different machines
我有兩台機器,其中一台不能上網。 我想用 anaconda 安裝模塊並將它們從可以訪問互聯網的另一台計算機復制到離線計算機。
我嘗試尋找依賴項並安裝 tar。 手動一個一個的文件發送到離線機器,但非常耗時。
什么是最簡單的方法? miniconda 有用嗎??
PS:我忘了提到我在兩台機器上都使用了anaconda。 所以我想我需要創建一個環境,安裝包然后將它導出到離線計算機。 有沒有其他方法可以將多個軟件包安裝到離線 comp. 從在線計算機中的副本<dir>
??
編輯:我試過conda install --file C:\\Users\\myName\\Desktop\\OfflineInstall\\packagelist.txt --channel file://C:\\Users\\myName\\Desktop\\OfflineInstall\\pkgs2
但離線機器仍然嘗試連接互聯網. 我也用過--no-deps
Edit2:對於那些conda install --file C:\\Users\\myName\\Desktop\\OfflineInstall\\packagelist.txt --channel file:///C:\\Users\\myName\\Desktop\\OfflineInstall\\pkgs2 --override-channels
同樣問題的人,我使用conda install --file C:\\Users\\myName\\Desktop\\OfflineInstall\\packagelist.txt --channel file:///C:\\Users\\myName\\Desktop\\OfflineInstall\\pkgs2 --override-channels
棘手的方法是file:///
前綴。 你需要把///。 還要記住放置--override-channels
標志以防止連接到默認通道。
聽起來Conda-pack正是您要找的。
安裝:
$ conda install conda-pack
在源機器上:
# Pack environment my_env into my_env.tar.gz
$ conda pack -n my_env
在目標機器上:
# Unpack environment into directory `my_env`
$ mkdir -p my_env
$ tar -xzf my_env.tar.gz -C my_env
# Use python without activating or fixing the prefixes. Most python
# libraries will work fine, but things that require prefix cleanups
# will fail.
$ ./my_env/bin/python
# Activate the environment. This adds `my_env/bin` to your path
$ source my_env/bin/activate
# Run python from in the environment
(my_env) $ python
# Cleanup prefixes from in the active environment.
# Note that this command can also be run without activating the environment
# as long as some version of python is already installed on the machine.
(my_env) $ conda-unpack
需要注意的是 conda-pack 將占用整個環境。
前幾天遇到了這個問題,非常簡單的實現。
首先創建一個包含所有 python 庫的 .txt 文件。 現在,您只需將此 .txt 文件傳遞到您想要安裝解決方案的任何機器,然后發出以下命令:
pip install -r packages.txt
其中“packages”是您的 .txt 文件的名稱。 希望這可以幫助!
使用 Conda 編輯:
while read requirement; do conda install --yes $requirement; done < requirements.txt
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.