Skip to content

coding

Windows 10 使用VIM写python的基本设置

尽可能的少安装插件,使用原生vim的功能进行python小程序的方便编写。 如果不需要自动完成括号,只需要安装一个插件:jedi-vim用于函数提示就可以了。 自动完成括号应该也可以使用vim script完成,但是,没那功夫,有功夫直接使用vscode更好。

0.预备工作

确保

  • python 可以在CMD顺利运行
  • python 是64位

Warning

安装文件是32或64位应该很重要。至少我使用32位VIM配合64位Python是不成功的。别折腾。

1. 安装VIM

1.1 下载VIM

可以使用choco安装。 另一选择是下载64位VIM,请直接去Github 界面下载最新的Nightly版本 。<-这是我下载的版本 不去官网下载 的原因是:因为windows版本不是主要维护对象,上官网直接给你推一个32和64位通用的版本,下载安装以后会遇到很多困难,出了问题并没有什么信息可以参考。

1.2 安装

点击安装,除了选择完全安装以外,全部都是默认设置,安装完成。安装完成,走一遍vimtutor,确保自己能在先期存活下来再干别的事。

2. 配置VIM

2.0 复制配置文件

进入VIM安装目录,把_vimrc文件复制一份到当前用户文件夹下面。这个文件就是所有配置的基础。

2.1 更改配色

默认白色背景太刺眼,先上来使用一个深色的背景再进行其他操作。打开刚才的_vimrc文件,假设已经能在VIM里自由的编辑了。在文件最后一行,空一行,输入以下语句:

colorscheme desert
本条语句使用内置的desert配色,基本上可以接受这配色再干活。需要更改后面可以设置自己喜欢的配色。

Python f-string

本文展示如何通过f-string格式化字符串。

Python f-string 实用小片段

Python f-string是Python字符串格式化的最新语法。从Python3.6开始可用。在Python语言中,它提供了一种更快、可读性更好、更简洁、更不易出错的字符串格式化方法。

f-strings使用 f 前缀与花括号 {} 来格式化字符串。

类型、填充或者对齐等格式指示符在冒号后指定,例如f'{price:.3}',price是变量名。

Python字符串格式化

以下例子总结了Pyhton里可用的字符串格式化选项。

formatting_strings.py
#!/usr/bin/python

name = 'Peter'
age = 23

print('%s is %d years old' % (name, age))
print('{} is {} years old'.format(name, age))
print(f'{name} is {age} years old')
例子使用两个变量格式化字符串。

print('%s is %d years old' % (name, age))
  • 这是最老的选项。使用百分号%和经典的格式化指示符号,比如%s和%d。
print('{} is {} years old'.format(name, age))
  • 从Python 3.0开始,引入格式化函数以进行一些高级的格式化操作。
print(f'{name} is {age} years old')
  • Python f-strings 从Python 3.6以后可用。使用 \(f\) 前缀与花括号 { } 来格式化字符串。
python formatting_string.pyPeter is 23 years old
Peter is 23 years old
Peter is 23 years old

notepad++ 配置python运行环境(代码自动格式化/运行/高亮)

如果只是练习python,或者快速运行小程序片断,各种IDE就显得大材小用。配置一个notepadd++可以完成快速的任务。只需要配置3个方面的功能:

  • 运行
  • 代码自动格式化
  • 高亮

1. 运行

从Notepad++可以直接配置快捷键运行当前python程序。 点击 运行(R) -运行(R)... 在弹出的输入框内输入以下命令,点击 保存... 分配一个名称与快捷键,即可以按快捷键运行当前程序。

cmd /k  cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)" & pause & exit
解释:

  • cmd /k : 告诉Notepad++接下来运行的是Windows命令行程序
  • cd /d "$(CURRENT_DIRECTORY)" : 切换程序运行目录为当前目录,否则程序运行目录为Notepad++安装目录
  • & :运行多条命令连接符
  • python "$(FULL_CURRENT_PATH)" : 运行当前程序,前提是python要设置在系统PATH,否则python换成安装目录全路径
  • pause : 运行完程序后暂停
  • exit: 弹出提示"请按任意键继续..."

anaconda简单配置使用

Anacoda是Python的一个集合包,主要用于数据处理与机器学习。 它集成了众多你需要的包,可以方便的对包进行管理。 可以减少安装配置新包的时间。如果喜欢可以使用;如果不喜欢就不要使用,可以直接安装python包,通过pip安装新包。

1. Anaconda和miniconda的选择

1.1 如果符合以下条件,请选择Anaconda:🐍

  • conda或Python新手
  • 倾向于方便性,一次性自动安装配置好Python和超过1500个科学包
  • 有点悠闲时间和磁盘空间 - 十几分钟和最少3GB(本人3个虚拟环境,17G)
  • 不想麻烦每次手动安装需要的包
  • 希望使用官方审查过操作性与可用性的包

1.2 如果符合以下条件,请选择miniconda:

  • 不介意每次手动安装需要的包
  • 没有时间与空间一次安装完所有的包
  • 想快速上手使用Python和conda,喜欢自己定制软件的过程

cairosvg安装配置与批量转换svg to png

Gitee这几天发现个问题,文章里引用的SVG图片全部解析不出来。不好看不舒服。需要把SVG图片全转换成PNG图片再上传。发现cairosvg可以做这个事,安装配置不是那么简单。

1. 安装cairosvg

conda里默认的channel里并没有cairosvg,后面发现conda-forge里有。

conda config --add channels conda-forge     # 添加conda-forge源
conda install cairosvg                      # 安装主包
conda install cairo                         # 安装库

2. 安装DLL依赖

3. 程序细节

程序很简单了,就是进入文件夹,迭代。把文件放入SVG文件夹同目录下,运行就OK了。

import cairosvg
from pathlib import Path


def Svg2Png():
    SrcDir = Path('.').resolve()
    SvgList = [svg for svg in SrcDir.iterdir() if svg.suffix == ".svg"]
    for svgFile in SvgList:
        pngFile = svgFile.with_suffix(".png")
        if not pngFile.is_file():
            cairosvg.svg2png(url=str(svgFile), write_to=str(pngFile), scale=3)


Svg2Png()

4. 批量替换文件后缀

post里搜索替换所有.svg.png

生成艺术Generative art with samila

Power by Samila

生成艺术,就是计算机根据算法自动生成的艺术作品。

感觉挺好玩的,编程定好规则,就会自动生成一系列艺术作品。

这是一个python玩具: Samila项目说明

用tkinter做了一个简单的界面,使用Samila生成属于自己的独一无二的图片。

可选颜色/seed/分辨率/投影方式

  • 可选颜色156种

  • 种子影响最终生成图形形状,规律暂时不明

  • 分辨率解析:选1生成1000x1000图片,选2生成2000x2000图片,以此类推

  • 投影方式有6种,差别请亲自体验

自动更新 Gitee Pages

原文地址

Info

2024.03.10 测试仍然可用。如果不喜欢浏览器弹出,请把13行(headless=False)设置为True。

直接copy运行了一下,没有效果。 根据运行电脑的做了以下设置,达到可运行的状态:运行程序达到自动点击gitee pages更新.

在命令行安装playwright以及浏览器

pip install playwright 
playwright install

更新了导入playwright的方式from playwright.sync_api import sync_playwright

VSCode-Rhino 联动写python程序的软件配置

需要以下两个操作,就能在vscode上写rhinopython:

  1. VSCode(1.6.2)端安装RhinoPython这个插件。---client side

  2. Rhino(7.1)端安装Codelistener这个插件。 ---server side

  3. 更新:

效果如下:

从VSC发送程序至Rhino运行测试,成功

从VSC发送程序至Rhino运行测试,成功。其实Rhino自带编辑器也挺好用,唯一不能忍就是自定义变量名不能补全,Rhinopython里各种长变量名简直要逆天。比金箍棒还要长的变量名,你能忍就能敲出来,不能忍就用VSCode。

其实主要就是vscode这个插件的安装配置。纯翻一下,给不想费力的同学。

以下内容来自:RhinoPython - Visual Studio Marketplace

图片载入有问题,更换了自己的图片。配置文件也使用了自己的文件。

RhinoPython

RhinoPython是一个VSCode插件,可以在VSCode编辑器内写Rhino python程序,但最终程序运行是在Rhino环境内进行的。 它不仅继承了原装Rhino python编辑器的自动补全功能,反应速度还更快,同时也能享受到VSCode提供的各种好处。

它原是DesignToProduction 的一个开源项目,供其内部使用。

从v0.1.7开始, 它同时支持Rhino 5 和Rhino 6.(本次安装使用的是7.1)

⭐ 如果喜欢用Visual Studio, 试一试RhinoPythonForVS, 那玩意更快更智能!

功能

和原装Rhino python编辑器一样。只是更高效、简单和快速。

如果可以看土鳖,可以点一下 视频链接

要求

这个插件是安装在VSCode上,RhinoPython编辑器的客户端。

程序发送到Rhino运行是通过安装在Rhino上的服务端监听VSCode,那个是Rhino插件:CodeListener

安装过程

  1. 安装 VS code
  2. 安装 python for VS code。如果不熟python for VS code,先看看这个帖子
  3. 安装 RhinoPython for VS code 下载Rhino插件CodeListener (food4rhino)并安装
  4. 打开Rhino, 点击tools(工具) -> pythonscript(python脚本) -> edit(编辑), 在Rhino python编辑器窗口,点击 tools -> options, 复制Module search path里的所有路径到文本文件备用。 目录展示
  5. 在Rhino窗口,点击 tools(工具) -> options(选项) -> Plug-ins(插件程序) -> CodeListener -> Proterties(详情), 点击文件名称后面那个链接打开资源管理器。向上两级,到达包含AutoComplete文件夹的目录。进入AutoComplete文件夹并复制 AutoComplete 文件夹的当前路径。 目录地址 打开VS Code,打开user settings(常用设置) 快捷键Ctrl+, 在搜索栏键入"python.autoComplete.extraPaths",在出现的选项中点击“在settings.json中编辑",把刚才复制的几个库路径与自动完成路径复制入设置文件。请参考以下我的配置文件内容。 设置路径

如果加入路径到python.autoComplete.extraPaths,自动补全并没有生效, 有一种可能是并没有正确定稿库文件的根目录。比如你的库 ExampleLib 在文件夹"...\Libs"下,你可能需要写入的路径是"...\Libs", 而不是"...\Libs\ExampleLib"。 请注意使用双斜杠\\

{
    "python.defaultInterpreterPath": "C:\\Program Files\\python\\python.exe",
    "python.autoComplete.extraPaths": [

        "D:\\Program Files\\Rhino 7\\Plug-ins\\IronPython\\Lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\\settings\\lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\scripts",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\CodeListener (8c4235b6-64bc-4508-9166-bef8aa151085)\\0.1.7.0\\AutoComplete"
    ],
    "python.analysis.extraPaths": [
        "D:\\Program Files\\Rhino 7\\Plug-ins\\IronPython\\Lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\IronPython (814d908a-e25c-493d-97e9-ee3861957f49)\\settings\\lib",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\scripts",
        "C:\\Users\\kriswu\\AppData\\Roaming\\McNeel\\Rhinoceros\\7.0\\Plug-ins\\CodeListener (8c4235b6-64bc-4508-9166-bef8aa151085)\\0.1.7.0\\AutoComplete"
    ]

}

使用方法

  • 打开Rhino, 输入命令 CodeListener。应该看到以下输出:VS Code Listener Started....

    可以把CodeListener 加入Rhino自启命令列表。 其他相关的的命令还有: StopCodeListener, CodeListenerVersion

  • 打开VS Code, 新建一个(为了使自动补全和代码分析生效,必须选择编程语言为python) 或打开一个已经有后缀.py的python文件。

  • 写好程序后,按F2发送到Rhino执行,或者按F1( Ctrl+Shift+P),在出现的>后输入CodeSender ,会看到程序在Rhino执行后的输出或错误信息。根据配置文件选项RhinoPython.ResetAndRun ,可能脚本环境会在每次发送程序前自动重置。
  • 如果需要重置Rhino Python脚本环境,在VSCode按Ctrl + R

插件设置

用户配置下有以下可选的设置项:

  • RhinoPython.Enabled: 开/关插件
  • RhinoPython.ResetAndRun: 决定每次按下F2(或发送命令CodeSender)是否重置脚本环境

已知问题

  • 调试功能暂无
  • 只支持监听一个Rhino实例。如果需要切换Rhino程序,可以关掉已经连接的Rhino实例,或给它发送命令StopCodeListener 终止监听。

答谢

VSCode里RhinoCommon的智能识别工作来源于以下项目 ironpython-stubs 。感谢 Gui Talarico.

git for Windows 初使用

1. 本地工作

  • 新建分支create new branch
    git branch <new branch name>
    
  • 切换到新分支switch to branch

    有人使用checkout,暂时不明白checkout是一个什么操作,不是特别直观,所以使用switch,命令很直观,就是切换到想要的分支。

    git switch <branch name>
    

  • 把上面两个命令合二为一,新建并切换到新分支。create and switch to new branch

    git switch -c <new branch name>