python 虚拟环境迁移--解决docker部署python环境问题与错误总结

使用virtualenv创建指定Python版本的虚拟环境 在Python开发中,使用虚拟环境可以有效管理不同项目的依赖和Python版本。virtualenv 和 venv 是常用的工具,分别适用于不同版本的Python。通过 virtualenv,可以指定Python解释器路径或版本创建虚拟环境,而 venv 则从Python 3.3开始集成在标准库中,直接使用相应版本的Python解释器即可创建虚拟环境。在共享主机环境中,可能需要从源代码安装并编译Python,再使用 virtualenv 创建虚拟环境。最佳实践包括使用环境变量、pyenv 和 pyenv-v 阅读详情

首先我使用的是老版的创建虚拟环境

首先安装虚拟环境,命令如下:

sudo pip3 install virtualenv #安装虚拟环境
接下来还要安装虚拟环境扩展包,命令如下:

sudo pip3 install virtualenvwrapper
安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。

修改用户家目录下的配置文件.bashrc,添加如下内容:

export WORKON_HOME=$HOME/.virtualenvs  # 配置虚拟环境的保存位置 $HOME是用户的主目录 也就是 cd ~  这个文件夹
source /usr/local/bin/virtualenvwrapper.sh  #  配置virtualenvwrapper命令的脚本
使用source .bashrc命令使配置文件生效。
  • 执行上面文件的时候 很可能报错
在docker中安装 虚拟环境时执行
source /usr/local/bin/virtualenvwrapper.sh

报错:
/usr/local/bin/virtualenvwrapper.sh: line 230: : command not found
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON= and that PATH is
set properly.
  • 原因 : 因为在virtualenvwrapper.sh中有如下代码

# Locate the global Python where virtualenvwrapper is installed.
if [ "$VIRTUALENVWRAPPER_PYTHON" = "" ] then
    VIRTUALENVWRAPPER_PYTHON="$(command \which python)"

# 脚本会默认使用python2环境,但是virtualenvwrapper装在了python3环境中,所以会有上面的报错
  • 解决方法: 直接 搜索本地 python3的文件路径
root@huangdonglin-virtual-machine:/usr/local/bin# find / -name python3
/root/.virtualenvs/django_py3_1.11/bin/python3
/etc/python3
/usr/lib/python3
/usr/bin/python3
/usr/share/python3
/usr/share/doc/python3
/usr/share/lintian/overrides/python3
root@huangdonglin-virtual-machine:/usr/local/bin#

直接将VIRTUALENVWRAPPER_PYTHON默认值修改为/usr/bin/python3即可,然后再次执行命令就不会报错了

接着再docker中 同样的方法安装虚拟环境

  • 我们在 本地虚拟环境中直接跑起来程序之后,可将整个环境全部 拉到 docker中去,防止错误。请看:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 前辈的解答:
    在这里插入图片描述

接着开始进行 dockerfile编写

  • 主要思路就是 将我们的 虚拟环境整个包,一直到 对应的docker 目录下
    在这里插入图片描述
    我们将这个环境包,整个移动到 docker同虚拟环境目录下,
    但是会发现 pip 和 虚拟环境的python 都不能使用,不用担心,需要更改一下
    在这里插入图片描述
    在这里插入图片描述
    改动这两个位置对应的路径正确即可!
    这两个文件分别是 pip 和 activate
    。
Django连接MySQL跨平台配置指南:从驱动选择到生产环境部署 数据库连接是Web应用开发的基础,其核心在于通过驱动程序实现应用与数据库的通信。在Python生态中,Django框架通过数据库后端引擎与MySQL交互,而mysqlclient作为官方推荐的C扩展驱动,提供了高性能的原生协议支持。其技术价值在于确保了数据操作的稳定性和效率,是构建数据驱动型应用的关键。在实际开发中,尤其是在macOS和Windows等异构环境下,环境配置、依赖管理和认证插件兼容性成为常见挑战。本文聚焦于mysqlclient驱动的安装与配置,深入解析Django的DATABASES配置项, 阅读详情

相关推荐

Windows虚拟环境迁移后pip报错:Fatal error in launcher解决方案

Python虚拟环境是隔离项目依赖的核心工具,其原理是通过创建独立的Python解释器和包目录来避免版本冲突。在Windows系统中,虚拟环境的可执行文件(如pip.exe)会硬编码绝对路径,这导致直接复制迁移环境时出现路径断裂问题,表现为“Fatal error in launcher”错误。该问题的技术价值在于理解操作系统级环境管理机制,掌握修复方法能提升开发效率。应用场景包括团队协作环境同步、服务器部署和开发机更换等。本文针对这一常见问题,详细解析了重装pip、修复脚本和重建环境等多种解决方案,其中重

weixin_34347651的博客 611

python virtualenv安装并指定python版本

二: 创建虚拟环境并指定python版本。一: 安装virtualenv。

brainjean的博客 5432

Python虚拟环境移植实战:从venv原理到跨平台部署避坑指南

虚拟环境是Python开发中管理项目依赖、避免版本冲突的核心工具。其原理是通过创建独立的目录结构,包含Python解释器副本、包安装目录和配置文件,实现依赖隔离。在工程实践中,环境移植是确保应用在不同机器间一致运行的关键技术,直接影响团队协作效率和部署可靠性。常见场景包括同构系统迁移、跨操作系统部署以及离线环境搭建,每种场景都有对应的解决方案与避坑要点。掌握基于requirements.txt的依赖清单重建方法,能有效解决二进制兼容性和路径硬编码问题,而Docker容器化则为复杂应用提供了终极一致性保障。本

weixin_30813225的博客 335

关于virtualenv 如何创建指定版本的python

只需要使用命令 virtualenv venv --python=python3.10,即可创建python3.10版本的虚拟环境。

nonocao的博客 2096

不止于安装:Madagascar在Ubuntu上的Python虚拟环境最佳实践与CUDA加速配置

本文详细介绍了在Ubuntu系统上为Madagascar配置Python虚拟环境的最佳实践,包括venv、Conda和Docker三种方案对比,以及CUDA加速的配置与优化。通过虚拟环境隔离和精准依赖控制,确保科研计算的高效稳定,特别适合处理海量地震数据的研究者。文章还提供了CUDA版本匹配、编译参数优化和常见问题排查的实用指南。

dingqiongliang0363的博客 550

Python虚拟环境实战指南:从venv到Conda的完整解决方案

在Python开发中,依赖管理和环境隔离是保证项目稳定运行的基础技术。其核心原理是通过创建独立的Python运行环境,为每个项目提供专属的第三方库集合,从而解决不同项目间的包版本冲突问题。这一技术的工程价值在于确保开发环境的一致性、可复现性,并提升团队协作效率。无论是Web开发、数据分析还是机器学习项目,都需要通过虚拟环境来管理复杂的依赖关系。本文以venv、virtualenv和Conda等主流工具为例,详细讲解如何创建、激活和管理虚拟环境,并深入探讨pip的进阶使用技巧,包括requirements.t

dianning8393的博客 339

ChatTTS避坑指南:Windows/Mac环境配置常见错误及解决方案(附虚拟环境最佳实践)

本文详细解析了ChatTTS在Windows和Mac环境配置中的常见错误及解决方案,包括虚拟环境权限问题、Python版本混乱、依赖安装冲突等。特别提供了虚拟环境最佳实践和高级调试技巧,帮助开发者高效部署文本转语音工具,避免常见陷阱。

weixin_30687051的博客 323

Python虚拟环境选型指南:Pipenv与Conda实战对比

Python虚拟环境是解决依赖冲突、保障环境可复现的基础机制,其核心原理是通过路径隔离(修改PATH和sys.path)实现解释器与包的独立封装。这一机制不仅提升开发效率,更支撑CI/CD自动化、安全审计与跨团队协作等关键工程实践。在实际应用中,Pipenv凭借Pipfile.lock精确锁定PyPI包哈希,成为Web开发主流;而Conda依托二进制预编译与多语言支持,在数据科学场景不可替代。二者均围绕‘环境即代码’理念构建,强调lock文件版本化、最小依赖安装与定期环境治理。本文深入解析两种方案的技术差异

weixin_34372728的博客 632

解决Labelimg的Qt插件路径错误:从‘windows‘ not found到中文路径乱码的全流程修复

本文详细解析了Labelimg在Windows系统上常见的Qt插件路径错误,包括'windows not found'和中文路径乱码问题。通过深入分析Qt插件加载机制,提供从环境变量配置到中文路径迁移的全流程解决方案,帮助开发者高效解决部署难题,确保数据标注工作顺利进行。

weixin_30291791的博客 344

python+re正则表达式匹配指定10位整数 \ 小数 \ 整数

python+re正则表达式匹配整数和小数 re匹配整数可指定位数 re匹配小数

weixin_42636075的博客 2359

创建Python虚拟环境详解

在日常开发中,你可以根据自己的需要创建多个虚拟环境,并为每个虚拟环境配置不同的Python版本和依赖包,以保证代码的高效运行。Python虚拟环境是Python开发中必不可少的一部分,它允许我们在同一台机器上使用多个python版本并且避免了依赖包之间的冲突。激活成功后,你会在命令行的左侧看到虚拟环境的名称(例如,(myenv) C:\Users\username\project>)。现在你已经成功创建了Python虚拟环境并激活它,你可以在虚拟环境中安装所需的依赖包了。要使用虚拟环境,我们需要激活它。

qq_39605374的博客 782

linux根据本地conda虚拟环境进行docker部署

环境打包 -n 选择conda虚拟环境名-o 在当前位置输出,可设置文件名-p 在指定位置输出,文件名为虚拟环境名.tar.gz 运行Django程序 也可启动虚拟环境。 打包好的虚拟环境可用于docker中,省去了docker中重新安装依赖库可能出现安装失败,包名错误等问题。tips:在这个过程,如果conda创建的是python3.10以上环境,可能会出现如下图所示问题 解决方法比较简单粗暴直接把/miniconda3/envs 下使用的虚拟环境打包压缩即可 然后解压 运行程序 根据cond

zhuangyuan7838的博客 5282

FPGA资料分享——FPGA开发板入手指南

FPGA学习,开发板怎么选,看这里,就一个通透

weixin_51627076的博客 7296

Python虚拟环境创建和使用总结

我们知道,python程序的开发和运行,需要基于python环境。

qq_28576837的博客 4609

智警杯1.4---excel可视化

知识点

lulu001128的博客 949

脑电分析中的频谱特征提取 —— 从理论到实践

本文系统介绍了脑电信号(EEG)频谱特征提取方法及其应用。EEG信号通过频谱分析可分为Delta、Theta、Alpha、Beta和Gamma等具有明确生理意义的频段。文章详细讲解了功率谱密度、频带功率、相对功率、频谱熵等关键特征的计算方法,并提供了Python实现示例,包括模拟数据和真实CHB-MIT癫痫数据集的处理流程。这些频谱特征在脑机接口、情绪识别、疲劳监测和癫痫检测等领域具有重要应用价值。文章强调频谱特征结合时域和非线性特征可提升分析效果,为EEG研究提供了实用指导。

qq_32516809的博客 1441

Python 3.12 环境迁移:解决 venv 虚拟环境 pip 报错的 2 种可靠方法

本文详细解析了Python 3.12虚拟环境迁移时pip报错`Fatal error in launcher: Unable to create process`的根源,并提供了两种可靠解决方案:使用`--copies`参数重建环境和手动修复路径引用。特别针对Python 3.12的新特性进行了优化适配,帮助开发者高效解决环境迁移问题。

weixin_30231327的博客 321

腾讯音乐 QQ音乐商业化客户端开发工程师:岗位深度解析与面试攻略

腾讯音乐QQ音乐商业化客户端开发工程师岗位要求3年以上Android开发经验,熟练掌握Kotlin/Java及跨端开发技术。核心职责包括QQ音乐客户端功能开发、架构优化、性能提升及技术攻关。岗位要求计算机相关本科以上学历,具备完整项目开发经验,熟悉TCP/IP等网络协议,能独立解决复杂技术问题。面试重点考察项目经验、架构设计、性能优化及新技术研究能力,建议候选人准备具体案例,量化成果,并熟悉Flutter等跨端技术。该职位强调技术深度与产品思维的结合,需展现扎实的编程基础、问题解决能力和团队协作精神。

郑伟强dev的专栏 365

第25篇:Python开发进阶:项目部署与发布

第25篇:Python开发进阶:项目部署与发布

编程技术探索者,分享C/C++、C#、Java、数据库等开发经验,聚焦实战技巧与AI兴趣,助力编程爱好者成长。 1126

【科学文献计量】标准参考出版年谱(Standard RPYS)和多维参考出版年谱(Multi RPYS)

@[TOC](标准参考出版年谱(Standard RPYS)和多维参考出版年谱(Multi RPYS)) 1 标准参考出版年谱与多维参考出版年谱 1.1 标准参考出版年谱(Standard RPYS) 标准参考出版年谱(Standard Reference Publication Year Spectroscopy)是由Marx, Bornmann, Barth, and Leydesdorff(2014)和Marx and Bornmann(2014)提出的一种量化历史出版物对研究领域影响的方法。该方法通

lys_828的博客 1103

减法平均优化器(SABO)算法详解:从数学原理到工程应用

减法平均优化器(SABO)是一种基于数学概念的新型元启发式优化算法,由Trojanovský和Dehghani于2023年提出。该算法通过v-减法运算和平均值计算实现搜索优化,核心创新是采用目标函数值差异符号引导搜索方向。SABO具有参数少、结构简单、收敛快等特点,在高维复杂问题中表现优异。算法通过种群平均值保持多样性,利用符号函数确保搜索方向改进,自然平衡探索与开发。MATLAB实现显示其计算复杂度为O(N²·D),与主流群体智能算法相当。SABO不依赖生物或物理隐喻,数学基础坚实,在工程优化和机器学习领

qq_42212808的博客 164

Python虚拟环境创建与管理全攻略

虚拟环境是Python开发中实现依赖隔离的核心技术,通过创建独立的解释器与包目录空间,有效解决多项目版本冲突问题。其工作原理基于PATH环境变量重定向和site-packages隔离机制,在团队协作、多版本兼容等场景具有重要工程价值。本文以venv模块为例,详解Windows/Linux跨平台环境搭建技巧,涵盖VSCode集成、依赖导出迁移等实战场景,并针对'ModuleNotFoundError'等高频报错提供解决方案。掌握虚拟环境管理能显著提升开发效率,是Python工程化的基础技能。

weixin_33912453的博客 543

RH850从0搭建Autosar开发环境系列讲解 - 总目录

Davinci Autosar实战开发从0构建开发能力。OS,COM,DCM,BSWMM,ECUM,VLINK,XCP,MEMMAP等模块配置,带你熟悉运行的autosar代码,包括MICROSAR的启动运行,使用GreenHills生成运行的hex。

weixin_42412049的博客 1万+

Ubuntu 20.04安装Python 2.7:源码编译、虚拟环境与Docker容器化部署指南

Python作为一门广泛使用的编程语言,其版本迭代带来了显著的性能提升和语法改进,但企业运维和遗留系统维护中仍存在大量基于Python 2.7的代码。理解不同Python版本的兼容性原理,掌握环境隔离技术,对于保障现有业务流程的连续性至关重要。通过源码编译安装,可以高度定制化Python运行环境,实现与系统Python 3的完全隔离,避免依赖冲突。结合虚拟环境或Docker容器化部署,能够进一步确保应用依赖的独立性和可移植性。本文聚焦于在Ubuntu 20.04 LTS系统上,通过源码编译方式安全部署Pyt

weixin_30466039的博客 400

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Docker】部署环境

简单的基础的使用Docker 完成一次环境部署的过程。

yuuzhao的博客 1939

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: docker 更改国内下载源
下一篇: ubuntu安装 pycharm
我是py呀
博客等级 码龄8年 205粉丝 130原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值