栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Windows下python虚拟环境中编译安装NovalIDE-v1.2.2

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows下python虚拟环境中编译安装NovalIDE-v1.2.2

Windows下python虚拟环境中编译安装NovalIDE-v1.2.2

文章目录
  • Windows下python虚拟环境中编译安装NovalIDE-v1.2.2
    • 1. 源码编译步骤
      • 1.1 下载 NovalIDE-v1.2.2压缩包
      • 1.2 安装 pipenv 虚拟环境管理
      • 1.3 新建文件夹,在文件夹内进入命令行安装虚拟环境
      • 1.4 虚拟环境安装相应开发依赖
      • 1.5 进入虚拟环境
      • 1.6 进入到 NovalIDE 文件夹,运行 NovalIDE.py
      • 1.7 打包成 exe 文件
    • 2. 编译过程中遇到的问题

本文为本人编译打包 NovalIDE 过程的记录,以防忘记

1. 源码编译步骤 1.1 下载 NovalIDE-v1.2.2压缩包 1.2 安装 pipenv 虚拟环境管理
pip install pipenv
1.3 新建文件夹,在文件夹内进入命令行安装虚拟环境
# 本文安装虚拟环境的 python 版本为3.8
pipenv install --python 3.8
1.4 虚拟环境安装相应开发依赖
pipenv install pywin32 --dev
pipenv install pyinstaller --dev
pipenv install psutil --dev
pipenv install watchdog --dev
pipenv install chardet --dev
pipenv install pyperclip --dev
pipenv install wmi --dev
pipenv install requests --dev
pipenv install pillow --dev
pipenv install six --dev
1.5 进入虚拟环境

从该步骤进入虚拟环境开始,后面步骤均在虚拟环境中完成

pipenv shell
1.6 进入到 NovalIDE 文件夹,运行 NovalIDE.py
cd NovalIDE

python NovalIDE.py
1.7 打包成 exe 文件
pyinstaller pyinstaller.novalide.python.spec

安装完成,打开后发现可以更新到 V1.2.4 版本,根据自己需要下载更新

2. 编译过程中遇到的问题
  • AttributeError: module ‘time’ has no attribute 'clock’

    由于我使用的是Python3.8版本的,NovalIDE源码中有使用time.clock(),Python3.8 不再支持 time.clock(),可将 time.clock() 替换成 time.perf_counter()

    noval/util/utils.py, line 294, line 296

    time.clock() -> time.perf_counter()

  • PermissionError: [Errno 13] Permission denied

    我打包时出现了这个问题是因为我后台运行了360程序,退出再重新运行一遍就可以打包成功了。

  • ModuleNotFoundError: No module named 'noval.project.openwith’

    出现这个问题是因为 noval/project 目录下不存在 openwith.py ,所以我去仓库中对几个openwith.py 做了比较,大致看来没有变化就把 dev 分支下的 openwith.py下载下来放到 noval/project 目录下,问题解决。

  • ModuleNotFoundError: No module named 'distutils.version’

    运行打包好的exe文件,出现该错误,是因为使用了 from distutils.version import ...,所以没有将 distutils.version 依赖打包

    在spec中的 hiddenimports 添加 distutils.version ,重新打包问题解决

    a = Analysis(['NovalIDE.py'],
                 pathex=['./'],
                 binaries=[],
                 datas=datas,
                 hiddenimports=['noval.util.downutils','noval.python.pyeditor','noval.syntax.pat','site','noval.running','noval.shell','noval.roughparse','distutils.version'],
                 hookspath=[],
                 runtime_hooks=[],
                 excludes=['noval.util.command'],
                 win_no_prefer_redirects=False,
                 win_private_assemblies=False,
                 cipher=block_cipher,
                 noarchive=False)
      			te_assemblies=False,
                 cipher=block_cipher,
                 noarchive=False)
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/423535.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号