自己封装的py38环境

本文介绍如何使用Docker搭建Python 3.8的开发环境,包括Dockerfile的编写、启动脚本的添加及虚拟环境的配置。通过具体命令展示了如何安装virtualenvwrapper、配置pip源,并设置.bashrc文件以方便管理工作空间。
部署运行你感兴趣的模型镜像

自己封装的py38环境

Dockfile编写

添加启动脚本

sudo vi /var/lib/boot2docker/bootlocal.sh
# 自动挂在共享文件夹
mkdir -p ~/vmshare/
sudo mount -t vboxsf vmshare ~/vmshare/
#更改时区、时间(/mnt/sda1/localtime是从别的服务器cp过阿里的/usr/share/zoneinfo/Asia/Shanghai)
cp -f /mnt/sda1/localtime /etc/localtime && echo "Asia/Shanghai" > /etc/timezone;
#Docker 中国官方镜像加速
echo "{\"registry-mirrors\": [\"https://registry.docker-cn.com\"]}" > /etc/docker/daemon.json;
FROM wynemo/python38
RUN cd /root \
    && mkdir .pip \
    && mkdir .venvs \
    # 安装virtualenvwrapper
    && pip install virtualenvwrapper \
    # 修改pip源
    && echo "[global] \n index-url = http://mirrors.aliyun.com/pypi/simple/ \n [install] \n trusted-host = mirrors.aliyun.com \n" > .pip/pip.conf \
    # 修复virtualenv
    && pip install --upgrade virtualenv==16.7.9 \
    # 配置.bashrc文件
    && echo "WORKON_HOME=~/.venvs \n VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' \n VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python \n export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv \n source /usr/local/bin/virtualenvwrapper.sh \n" >> .bashrc \
    # 使配置文件生效
    && /bin/bash -c "source .bashrc"

根据Dockfile生成镜像

docker build -t mypy38env:v5 .

删除所有已经关闭的容器

docker rm `docker ps -a|grep Exited|awk '{print $1}'`

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

当使用 `cxfreeze` 封装 Python 程序时,`numpy` 封装失败可能由多种原因导致,以下是一些常见的解决办法: ### 1. 确保 numpy 正确安装 要保证 `numpy` 已经正确安装,并且版本与 Python 版本兼容。可以使用以下命令更新 `numpy`: ```bash pip install --upgrade numpy ``` ### 2. 检查 cxfreeze 版本 确保 `cxfreeze` 是最新版本,因为旧版本可能存在兼容性问题。使用以下命令更新 `cxfreeze`: ```bash pip install --upgrade cxfreeze ``` ### 3. 手动添加 numpy 依赖 在 `cxfreeze` 的配置文件(通常是一个 Python 脚本)中,手动指定 `numpy` 的依赖项。以下是一个示例配置文件: ```python from cx_Freeze import setup, Executable import sys import numpy build_exe_options = { "packages": ["numpy"], "include_files": [(numpy.get_include(), "include")] } base = None if sys.platform == "win32": base = "Win32GUI" setup( name="your_program_name", version="0.1", description="Your program description", options={"build_exe": build_exe_options}, executables=[Executable("your_script.py", base=base)] ) ``` 在上述代码中,`packages` 列表里添加了 `"numpy"`,并且通过 `include_files` 手动包含了 `numpy` 的头文件。 ### 4. 检查环境变量 确保 `PATH` 环境变量中包含了 Python 和 `numpy` 的安装路径。有时候,`cxfreeze` 可能因为找不到相关文件而封装失败。 ### 5. 检查虚拟环境 如果使用了虚拟环境,要确保 `cxfreeze` 和 `numpy` 都安装在同一个虚拟环境中。有时候,虚拟环境的配置问题可能导致封装失败。 ### 6. 检查操作系统权限 在某些情况下,操作系统的权限问题可能会导致文件复制或访问失败。确保你有足够的权限来执行封装操作。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值