最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python虛擬環(huán)境遷移實(shí)踐

 更新時(shí)間:2026年06月01日 15:05:08   作者:小作坊鉗工  
本文詳細(xì)介紹了如何在不同位置或相同系統(tǒng)的電腦間遷移Python虛擬環(huán)境,包括生成requirements.txt修改激 活腳本和解釋器路徑等確保遷移后的環(huán)境能直接激 活使用

Python虛擬環(huán)境遷移

在工作中會(huì)使用python制作一些工具,但是python不同版本的兼容性較差,然而有時(shí)不得更換電腦,使原python腳本運(yùn)行時(shí)經(jīng)常會(huì)發(fā)生一些問題,因此想制作一個(gè)可以遷移的python虛擬環(huán)境。

但是,直接將虛擬環(huán)境遷移到另一臺(tái)電腦,甚至在同一臺(tái)電腦上移動(dòng)虛擬環(huán)境位置,運(yùn)行python都會(huì)發(fā)生問題。

常規(guī)的解決方案[1]是生成requirements.txt后在另一臺(tái)電腦上安裝,如下。

  • activate需要打包的虛擬環(huán)境,在對(duì)應(yīng)目錄下創(chuàng)建一個(gè)文件夾whl,并新建requirements.txt文件,進(jìn)入whl文件夾
pip freeze --all > requirements.txt
  • 這樣需要安裝的依賴庫就總結(jié)在requirements里面,將符合條件的庫進(jìn)行打包
pip download -r requirements.txt
  • 需要安裝的文件就全部在whl文件夾里面了。在目標(biāo)機(jī)器上新建一個(gè)虛擬環(huán)境,考慮另外一臺(tái)機(jī)器是否接網(wǎng)的問題,有兩種策略。
  • 有網(wǎng)的話,直接拷貝requirements.txt進(jìn)行在線安裝
pip install -r requirements.txt
  • 沒網(wǎng)時(shí)將whl文件夾全部拷到虛擬環(huán)境下進(jìn)行安裝
pip install --no-index --find-links=. -r requirements.txt

此種方案并不能實(shí)現(xiàn)我想要的遷移后直接使用的功能,因此實(shí)踐出來了可以在本機(jī)任意移動(dòng)虛擬環(huán)境,并可以遷移到和原電腦相同系統(tǒng)的電腦后直接activate使用的方案。

注意:

  • 本方案目前只針對(duì)Ubuntu系統(tǒng),尚未對(duì)Windows系統(tǒng)進(jìn)行實(shí)踐;
  • 電腦間遷移,電腦的系統(tǒng)必須相同,不同版本的Ubuntu系統(tǒng)間遷移尚在實(shí)踐中。

1. venv工具安裝

sudo apt-get install python3-venv

2. 創(chuàng)建python虛擬環(huán)境

mkdir venv-python
python3 -m venv venv-python

3. 自動(dòng)獲取虛擬環(huán)境遷移位置

venv-python/bin/activate腳本中,變量VIRTUAL_ENV為初始安裝的python虛擬環(huán)境位置,即VIRTUAL_ENV="venv-python"。

在遷移python虛擬環(huán)境后需要自動(dòng)獲取文件位置,修改腳本。

workdir=$( dirname $( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) )
VIRTUAL_ENV="${workdir}"
export VIRTUAL_ENV

4. 修改腳本默認(rèn)解釋器

venv-python/bin/中的腳本文件中,設(shè)置的使用的python3解釋器是虛擬環(huán)境安裝時(shí)的python3文件路徑,需要修改路徑為遷移后的位置。

filesdir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
python_interpreter="#!${filesdir}/python3"

for file in `ls ${filesdir}`
do
    if [ ${file:0:6} = "python" ];
    then
        :
    elif [ ${file:0:8} = "activate" ];
    then
        :
    else
        :
        read_file="${filesdir}/${file}"
        sed -i "1c ${python_interpreter}" ${read_file}
    fi
done

5. 修改python連接

venv-python/bin/python3軟連接到/usr/bin/python3,而/usr/bin/python3軟連接到/usr/bin/python3.6。

為了遷移后使用虛擬環(huán)境中的python,需要拷貝python庫文件和修改軟連接。

sudo cp /usr/bin/python3.6 venv-python/bin/
ln -snf python3.6 python3

通過上述操作就可以將python虛擬環(huán)境遷移到本機(jī)其他位置或者其他相同系統(tǒng)的機(jī)器上直接使用了。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 層次分析法在matlab上的實(shí)現(xiàn)方式

    層次分析法在matlab上的實(shí)現(xiàn)方式

    這篇文章主要介紹了層次分析法在matlab上的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python版本坑:md5例子(python2與python3中md5區(qū)別)

    python版本坑:md5例子(python2與python3中md5區(qū)別)

    這篇文章主要介紹了python版本坑:md5例子(python2與python3中md5區(qū)別),需要的朋友可以參考下
    2017-06-06
  • Python包管理工具pip的升級(jí)指南

    Python包管理工具pip的升級(jí)指南

    本文全面探討Python包管理工具pip的升級(jí)策略,從基礎(chǔ)升級(jí)方法到高級(jí)技巧,涵蓋不同操作系統(tǒng)環(huán)境下的最佳實(shí)踐,我們將深入分析pip的工作原理,介紹多種升級(jí)方法及其適用場(chǎng)景,討論常見問題解決方案,文章包含詳細(xì)的代碼示例、操作步驟和原理分析,需要的朋友可以參考下
    2025-07-07
  • Python使用PyCrypto實(shí)現(xiàn)AES加密功能示例

    Python使用PyCrypto實(shí)現(xiàn)AES加密功能示例

    這篇文章主要介紹了Python使用PyCrypto實(shí)現(xiàn)AES加密功能,結(jié)合具體實(shí)例形式分析了PyCrypto實(shí)現(xiàn)AES加密的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • Python通過正則庫爬取淘寶商品信息代碼實(shí)例

    Python通過正則庫爬取淘寶商品信息代碼實(shí)例

    這篇文章主要介紹了Python通過正則庫爬取淘寶商品信息代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python基礎(chǔ)Lists和tuple實(shí)例詳解

    Python基礎(chǔ)Lists和tuple實(shí)例詳解

    這篇文章主要為大家介紹了Python基礎(chǔ)Lists和tuple實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • pytorch中常用的損失函數(shù)用法說明

    pytorch中常用的損失函數(shù)用法說明

    這篇文章主要介紹了pytorch中常用的損失函數(shù)用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • PyTorch中torch.load()的用法和應(yīng)用

    PyTorch中torch.load()的用法和應(yīng)用

    torch.load()它用于加載由torch.save()保存的模型或張量,本文主要介紹了PyTorch中torch.load()的用法和應(yīng)用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Python isinstance函數(shù)介紹

    Python isinstance函數(shù)介紹

    這篇文章主要介紹了Python isinstance函數(shù)介紹,本文用實(shí)例講解了判斷變量是否是某個(gè)指定類型,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)圖片背景移除工具

    Python實(shí)現(xiàn)圖片背景移除工具

    這篇文章主要為大家詳細(xì)介紹了如何通過Python語言實(shí)現(xiàn)一個(gè)簡(jiǎn)單的圖片背景移除工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-02-02

最新評(píng)論

团风县| 衡阳市| 玛纳斯县| 界首市| 偃师市| 南宁市| 岳阳市| 仙游县| 德庆县| 江口县| 乌鲁木齐县| 前郭尔| 洞头县| 永吉县| 年辖:市辖区| 香河县| 眉山市| 太保市| 宿松县| 曲靖市| 沙坪坝区| 宣化县| 靖安县| 郁南县| 将乐县| 武鸣县| 新干县| 满城县| 南木林县| 宜良县| 门头沟区| 阿克苏市| 绥德县| 开化县| 达州市| 兰考县| 乌鲁木齐市| 淅川县| 双牌县| 洛扎县| 读书|