python编程中的注意事项

2023-11-05

虚拟环境

win下的虚拟环境创建

virtualenv name --python=3.7.9

conda创建虚拟环境

conda create --prefix=/home/coData/venv python=3.8

conda环境恢复

起因: conda install gunicorn时直接更新了python版本,从py3.7.0=>py3.10
导致:

[root@localhost home]# conda
Traceback (most recent call last):
File “/home/anaconda3/bin/conda”, line 7, in
from conda.cli import main
ModuleNotFoundError: No module named ‘conda’

解决:参考


vscdoe选择python虚拟环境

按下ctrl + shift +p打开命令面板, 输入Python: Select Interpreter,回车,选择你想要的环境。
powershell执行

Set-ExecutionPolicy AllSigned
Set-ExecutionPolicy -Scope CurrentUser Unrestricted


关于路径

路径问题的通用解决。

import sys,os
curPath = os.path.abspath(os.path.dirname(__file__))
rootPath = os.path.split(curPath)[0]
sys.path.append(rootPath)

win下的pycrypto安装失败

windows下:使用pip install pycrypto-2.6.1安装pycrypto时报错
linux系统不受影响奥。
最简单的方法:用模块pycryptodome替换。

pip install pycryptodome

跨文件夹引用

两个同级文件夹下都创建__init__.py文件。


通过pip导入导出依赖

#导出依赖
pip list --format=freeze > requirements.txt
#导入依赖
pip install -r requirements.txt

变量报错

UnboundLocalError: local variable ‘xxx’ referenced before assignment

原因是在循环中重复定义该变量。将变量的定义放到外面。


将py文件打包成exe

依赖安装

pip install pyinstaller

执行打包程序

pyinstaller -F record.py --noconsole

添加可输入变量

pip install argparse

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--input_filepath', type=str , help = 'Select the PDF you want to analyze')
parser.add_argument('--output_file_style', type=str, help='output_style:csv,xlsx')  # 1 for dn and jpeg car
parser.add_argument('--output_filepath', type=str,  help='Select the output path')
args = parser.parse_args()
 
 
# 解析参数
in_filepath = args.input_filepath
out_style = args.output_file_style
out_filepath = args.output_filepath
 
 
print("--input_filepath:",in_filepath)
print("--output_file_style",out_style)
print("--output_filepath",out_filepath)

UPX is not available.

下载UPX.EXE,解压到D:\pythonenv\testenv\Scripts目录下。

在win7执行

1.首先安装32位的python3.7.9,不用加入到path。
2.使用32位python3.7.9创建虚拟环境。
3.在该虚拟环境开发打包。
参考

执行exe缺少api-ms-win-core-path-l1-1-0.dll

百度一下找到包

pyinstaller打包opencv-python失败,DLL load failed

卸载opencv-python,重新安装。
删除虚拟环境里的upx.exe等。
其他方法参见


py文件加密记录

参见 https://blog.csdn.net/weixin_43207777/article/details/108351862


python程序终止执行

sys.exit(0)
os._exit(0)

gunicron使用

配置参数详解说明
说明说明


python excel处理

参见
这里使用xlwings
pip install xlwings

import xlwings as xw
#excel数据读取
app=xw.App(visible=False,add_book=False)
wb=app.books.open('paths')
# print(wb.sheets['sheet1'])
excelcontent = wb.sheets['sheet1']['A3:N288'].value
wb.save()
wb.close()
app.quit()
print('数据示例:',excelcontent[0])
#删除指定行
app=xw.App(visible=False,add_book=False)
wb=app.books.open('paths')
wb.sheets['sheet'].range('1:1').api.Delete()
wb.save()
wb.close()
app.quit()

参考


启动虚拟环境并静默运行

参考
1.拷贝虚拟环境venv到指定位置
2.创建依赖虚拟环境运行的python脚本start.py
3.创建两个文件.bat和.vbe
run.bat

call ./venv/Scripts/activate.bat
python start.py

run.vbe

set ws=wscript.createobject("wscript.shell")
ws.run "start.bat /start",0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python编程中的注意事项 的相关文章

随机推荐

  • windows触摸板的操作

    一 单指 1 轻触 鼠标左键 2 双击后不松开 长按鼠标左键 这个不太好操作 二 双指 1 轻触 鼠标右键 2 上下滑动 鼠标滑轮 3 双指缩放 网页或图片的大小缩放 三 三指 1 轻触 打开搜索 2 下滑 回到桌面 3 上滑 打开程序管理
  • 点击按钮,QMovie动画播放结束时关闭当前窗口

    点击QToolButtoon弹出一个widget widget上有一个按钮 点击按钮后开始播放动画 当动画播放结束的时候发送finish信号 通知窗口关闭函数去关闭当前窗口 点击按钮播放此动画 直接拖控件完成布局 上代码 main cpp
  • C++11 map实现插入后按value自动排序

    本质上还是使用了map自动按照key进行排序的原理 所以将value放入key中可实现按value排序 include
  • 简单记录vue下单元测试及Mock数据

    1 vue cli 创建一个demo 创建一个 demo vue create demo 在VUE CLI 是有提供测试插件的 所以在构建项目时选择一个测试框架 运行测试脚本 在package json 中可以看到运行测试脚本命令 npm
  • 倾心倾力之作《Qt 5.9 C++开发指南》

    五一假期前收到了人民邮电出版社寄来的书 我们写的 Qt 5 9 C 开发指南 终于印刷出来了 从2016年11月开始写书 到今天终于印刷出版 历时约一年半 现在它终于面世了 成书过程 由于做项目的需要 在2014年开始转而用Qt编写软件 在
  • 301与302区别

    301与302区别 定义如下 301 Moved Permanently 被请求的资源已永久移动到新位置 并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一 如果可能 拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器
  • springboot多模块开发中实现打包

    前言 因为我使用的是idea社区版 所以在创建项目的时候他没有springboot的选项 所以只能创建普通maven项目 创建完成查看项目结构和pom文件 这里我并没有觉得有什么不对劲 所以没管 就去搭建其他模块了 这里就不展示了 后来我需
  • python函数与Lambda表达式

    python函数与Lambda表达式 函数的定义 def functionname parameters 函数 文档字符串 function suite return expression 函数定义的参数为形参 表示表示占据一个参数位置 传
  • Sql Server查询语句

    文章目录 Sql Server查询语句 基础查询 条件查询 模糊查询 Sql Server查询语句 对于Sql Server创建的表中的数据进行查询 可以进行 基础查询 条件查询 模糊查询 基础查询 基础查询语句为 select from
  • 央行数字货币研究所、中国信通院合作立项2项区块链国际标准

    国际电信联盟第十六研究组 简称ITU T SG16 于2021年4月19日至2021年4月30日召开全体会议 来自中国 美国 德国 巴西 西班牙 俄罗斯 瑞士 加拿大 英国 韩国 日本等国家和世界卫生组织等国际组织的百余名代表参加了此次为期
  • spring三级缓存总结

    前言 其实说到spring的三级缓存 也是经常被提到 自己也看过对应的源码 但是 总觉得自己还是没有真正的理解 为什么这样说呢 因为每次看到三级缓存相关的技术问题 自己心里感觉还是迷糊的 不知道为什么要有三级缓存 一级缓存不行吗 二级缓存是
  • unity3d学习笔记-动画(2.控制动画与Animator Controller)

    一 探索Animator Controller动画控制器 每当为选定的游戏对象创建第一个动画剪辑时 就会自动创建动画器组件 Animator负责分配动画 但是 它不控制实际的动画剪辑 这个任务落到了动画控制器身上 它也是用第一个动画剪辑自动
  • $.ajax如何在response中获取请求头

    ajax如何在response中获取请求头 下载文件时需要获取后端带在responseHeader中的文件名称 ajax type get url http xxxx currentuser contentType application
  • Qt操作excel的三方库Qtxlsx在Windows下使用注意事项

    Qt操作excel的三方库Qtxlsx在Windows下使用注意事项 文章目录 Qt操作excel的三方库Qtxlsx在Windows下使用注意事项 1 Qt Xlsx简介 2 编译及添加模块 2 1 下载及编译 2 2 拷贝相关文件集成到
  • WebGL 杂记

    WebGL 2D RotationHow to rotate in 2Dhttps webglfundamentals org webgl lessons webgl 2d rotation html 假设您有一个矩形 并且想要旋转它 在开
  • java 删除文件路径下的指定文件

    起因 租赁项目过期或未按指定机器被套用 检测到违反规定 需要删除数据库并删除重要文件 本文主要解决问题 删除文件夹下的指定文件 解决方案 import java io File public class TestMain public st
  • 水星迷你无线路由器ap模式 下要不要启用 dhcp服务器,水星(Mercury)Mini无线路由器AP模式设置...

    本文介绍了水星 MERCURY Mini系列无线路由器AP模式的设置方法 水星迷你路由器实现了即插即用 非常适合出差或者在旅行途中入住酒店时使用 直接把酒店房间里面的网线插在水星迷你无线路由器上 就可以正常使用了 下面以水星MW150RM迷
  • 编程 打油诗_CNC操机10年老员工献给大家的一首心酸打油诗

    操机苦 倒班累 操机倒班活受罪 半夜起 早晨睡 好比参加革命游击队 整日在思 彻夜不能寐 工作不顺奖金全作废 煎熬一夜 下班打瞌睡 吃个早餐凌晨还得排队 洗漱列队 厕所抢位 回到宿舍心神疲惫 请假难请 扣钱双倍 每天都在请假排队 数控操机何
  • Android之使用本地缓存数据

    前言 在通常做项目的时候 需要存储数据 会使用GreenDAO数据库 bmob后端云 或者其他方法 以及本篇文章所讲解的本地缓存 也就是通过SharedPreferences 来进行缓存 第一部分 1 那么首先呢需要创建一个缓存数据的类Ca
  • python编程中的注意事项

    虚拟环境 win下的虚拟环境创建 virtualenv name python 3 7 9 conda创建虚拟环境 conda create prefix home coData venv python 3 8 conda环境恢复 起因 c