Windows 10 Cmake error 解决方法
使用 Windows10 开发 Python 程序时,有时候需要编译安装一些模块,如 dlib 等,需要用到 Cmake 在本地编译安装,但有时候总是会出现
1Error in Cmake “The C compiler identification is unknown”
这时候,主要是因为 Windows10 编译工具未有安装导致的,解决方法就是安装它。
安装 Cmake下载 Cmake,下载地址:https://cmake.org/download/
下载后安装,并配置环境变量
安装 visual studio build tools下载 visual studio build tools,下载地址:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/
下载后,安装,可能需要一段时间安装
测试安装 dlib安装完 Cmake 和 visual studio build tools 后,测试编译安装模块
1pip install dlib
Pycharm 自动文件代码注释说明
PyCharm 是一款非常优秀的python代码开发工具,功能强大,特别是代码提示功能,非常好用。在我们开发python代码时,常常需要给代码文件添加说明注释,比如,在什么时候创建的代码、有谁开发、作者信息等等,下面给出一个个人喜好的格式
12345678#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Jinzhong Xu# @Contact : jinzhongxu@csu.ac.cn# @Time : ${DATE} ${TIME}# @File : ${NAME}.py# @Software : ${PRODUCT_NAME}
如何在PyCharm中设置呢?
以Windows上为例:
打开PyCharm -> File -> Settings -> Editor -> File and Code Templates -> Python Script
然后添加上面的格式代码
...
定积分定义
导数的逆运算是不定积分,而定积分是某种特殊和式的极限。不定积分与定积分既有联系又有区别。
概念的引出定积分的概念提出是基于:1、曲边梯形的面积;2、变力所做的功。总体思想是:分割,近似求和,取极限。
定积分的定义定义 设闭区间 $[a, b]$ 上有 $n-1$ 个点,依次为$$a = x_0 < x_1 < x_2 < \cdots < x_{n-1} < x_n = b,$$它们把 $[a, b]$ 分成 $n$ 个小区间 $\Delta_i = [x_{i-1}, x_i], i=1,2,\cdots,n$. 这些分点或这些闭区间构成对 $[a,b]$ 的一个分割,记为$$T = {x_0, x_1, \cdots, x_n} 或 {\Delta_1, \Delta_2, \cdots, \Delta_n}.$$小区间 $\Delta_i$ 的长度为 $\Delta x_i = x_i - x_{i-1},$ 并记$$|T| = \max_{1\leq i \leq n} {\ ...
牛顿方法求解方程根
牛顿法求极小值和方程根
牛顿法求解函数的极小值,用二阶泰勒展开近似目标函数:$$f(x) \approx f(x_0) + f^{\prime}(x_0)(x - x_0) + \frac{1}{2} f^{\prime\prime}(x_0)(x - x_0)^2 \triangleq g(x)$$要求原函数 $f(x)$ 的极小值,可以用求近似函数 $g(x)$ 的极小值来近似。因为 $g(x)$ 是关于 $x$ 的二次函数,所以令 $ g(x) = 0$ 求极小值点:$$f^{\prime}(x_0) + f^{\prime\prime}(x_0)(x - x_0) = 0$$即$$x = x_0 - \frac{f^{\prime}(x_0)}{f^{\prime\prime}(x_0)}$$得到迭代公式:$$x_n = x_{n - 1} - \frac{f^{\prime}(x_{n - 1})}{f^{\prime\prime}(x_{n - 1})}$$对此公式的解释:
求解函数 $f(x)$ 的极小值,相当于求解导函数 $f ...
方向导数和梯度
方向导数 $D_{\boldsymbol{l}}f(\boldsymbol{x})$ 一般是对多元函数而言的,表示函数 $f(\boldsymbol{x})$ 沿着某一方向 $\boldsymbol{l}$ 在点 $\boldsymbol{x}$ 的导数。方向导数的大小表示函数沿着该方向 $\boldsymbol{l}$ 在点 $\boldsymbol{x}$ 的函数值的变化率。对于多元函数有无穷多个方向,但只有一个方向是使得函数在点 $\boldsymbol{x}$ 的变化率(增长率)最大,那就是梯度方向 $\nabla f$ (其中,$\nabla$ 表示 nabla symbol),有时也用记号 grad $f(\boldsymbol{x})$ 表示函数 $f(\boldsymbol{x})$ 在点 $\boldsymbol{x}$ 的梯度(gradient)向量。那为什么变化率最大的方向是梯度方向呢?下面给出解释,不是一般性,假设 $\boldsymbol{x} = (x, y)$ ,记这里假设是 $f(\boldsymbol{x})$ 二元函数。
方向导数方向 ...
WSL 开启 SSH
Windows10 安装Linux子系统后,如何开启SSH服务,使得远程可以连接该WSL呢?下面介绍这一过程。
Windows10 打开22端口
Windows键 + r 打开运行,输入 control,回车打开控制面板
找到“系统和安全”,注意右上角查看方式为“类别”,点进去找到防火墙。或者直接改变查看方式为“大图标”,找到防火墙
进入防火墙,找到左边的“高级设置”
找到左上角的“入站规则”,点击进入,找到右上角的新建规则,选端口,然后输入需要打开的端口,这里是22,然后是运行连接,最后,填写名称SSH
出站规则同样
WSL 安装SSH服务1sudo apt install openssh-server openssh-client
开启sshd
1234567891011121314151617181920212223242526272829303132333435363738394041sudo /etc/init.d/ssh restart# 如果出现如下内容,说明没有开启成功,需要生成相应的密钥$ sudo /etc/init.d/ssh restartCould ...
Python 程序编译成 exe 可执行文件
Python 是一种解释型语言,编写的程序只能通过解释器来执行,对于一些想要隐藏源代码或者只想在 Windows, Linux, Mac 上通过鼠标双击直接运行程序的同学,直接给 .py 文件不是一个好的解决方法,下面解释两个软件来方便把python 文件转化为 exe 等程序。
pyinstallerpyinstaller 可以在 Windows, Linux, Mac 等平台上使用。
安装
1pip install pyinstaller
使用(进入主程序文件夹)
1234567891011121314151617181920212223242526cd C:\Users\xujin\Downloads\Tetris# 打包程序,tetris.py 为整个工程的程序入口,类似于 main# 打包成一个文件夹,包含很多文件和文件夹;-D, --onedir 为默认选项pyinstaller tetris.pypyinstaller tetris.py -D # 默认打包到 dist 目录下,可使用如下方法改变目录名为 DIRpyinstaller tetris.py --dis ...
Linux 端口占用与释放
Linux 端口占用会导致某些想使用该端口运行的程序无法成功,比如,启动Zookeeper时默认2181端口占用,这时候除了修改配置文件的端口号外,也可以将Linux服务器的端口释放掉供Zookeeper使用。下面介绍,如何查看端口释放被占用以及如何释放端口,一般查看端口占用有两个命令可以使用,分别是 lsof 和 netstat 命令,释放端口除了正常关闭占用端口的程序外就是直接 kill 掉占用端口的程序 pid
查看端口占用lsoflsof(list open files)是一个列出当前系统打开文件的工具。
lsof 查看端口占用语法格式:
12345lsof -i:portlsof -i tcp:port# 例子lsof -i:2181
其他更多用法:
123456789lsof -i:8080:查看8080端口占用lsof abc.txt:显示开启文件abc.txt的进程lsof -c abc:显示abc进程现在打开的文件lsof -c -p 1234:列出进程号为1234的进程所打开的文件lsof -g gid:显示归属gid的进程情况lsof +d /usr/loc ...
Windows10 子系统开机自启动SSH等服务
WSL 是 Windows10 Linux 子系统,它可以让Windows10用户无需安装虚拟机就可以使用Linux系统,非常的方便。但是,默认WSL不开启sshd服务,因此,会降低使用的便捷性,这里给出如何开启该服务,以及如何设置开机自启动其他服务,如 frp 等
在 Windows10 上,使用 windows + r 键,调出运行,输入 shell:startup 进入开机启动项文件夹
新建文件:wsl.vbs,名字自定义,但必须使用 vbs 作为扩展名
添加如下内容:(可以使用 notepad++ 打开)
12345Set ws = CreateObject("Wscript.Shell")ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.d/ssh start", vbhidews.run "wsl -d Ubuntu-18.04 -u root ~jinzhongxu/.frp.local/frpc -c ~jinzhongxu/.frp.local/frpc.ini&qu ...
常用不定积分公式
这里给出一些常用的不定积分公式。
$$\int \frac{\mathrm{d}x}{x^2 + a^2} = \frac{1}{a}\arctan\frac{x}{a} + C$$
$$\int \frac{\mathrm{d}x}{x^2 - a^2} = \frac{1}{2a}\ln \left |\frac{x-a}{x+a} \right | + C$$
$$\int \frac{\mathrm{d}x}{\sqrt{a^2 - x^2}} = \arcsin\frac{x}{a} + C$$
$$\int \frac{\mathrm{d}x}{\sqrt{x^2 \pm a^2}} = \ln \left | x + \sqrt{x^2 \pm a^2} \right | + C$$
$$\int \ln x \mathrm{d}x = x \ln x - x + C$$
$$\int e^{ax} \cos bx \mathrm{d}x = \frac{e^{ax}}{a^2 + b^2} (a\cos bx ...
Linux 文件隐藏属性
Linux 隐藏属性对于系统安全非常重要,特别是chattr命令。所谓隐藏属性就是使用标准的 ls -la命令无法查看的属性,不过需要知道的是chattr命令只能在Ext2/Ext3/Ext4的Linux传统文件系统上完整生效,其他文件系统可能无法完整支持这个命令。如xfs仅仅支持chattr命令的部分参数而已。
chattr 设置文件隐藏属性
基本命令方法:
12345678910111213[root@centos ~]# chattr [+-=] [AaSscdiu] 文件或目录名称选项与参数:+:增加某一个特殊参数,其他原本存在参数不动-:移除某一个特殊参数,其他原本存在参数不动=:设置一定,且仅有后面接的参数A:存取文件或目录时,存取时间atime不会被修改,可避免I/O较慢机器过度存取磁盘a:文件只能增加数据,不能删除不能修改数据,只有root可以设置该属性S:一般的文件是使用非同步的方式写入磁盘,设置该属性后可保证文件修改后同步写入磁盘s:文件被删除,则将会被完全的移除出硬盘,误删将完全无法挽回c:将自动“压缩”文件,读取时将自动解压缩,存储时 ...