文档
Python
是科研中的利器,我们可以使用Python3.x
及扩展包进行数据处理、绘图,甚至符号运算。数据处理方面,Perl
和Python
都可以,前者数据的列处理方便,类似Matlab
中的矩阵操作;后者功能更多,代码可读性更强,运行速度也更快。绘图方法,因为Matplotlib
的加入,Python
默认出图较为美观,算是Origin
的简化版。符号运算方法,Scipy
、Sympy
可以进行方程运算和符号推导,但比Mathematica
弱很多。
安装
Anaconda
便捷的安装方法是通过Anaconda安装Python
,Linux
环境下只需bash
一下即可。
Python3.10
1
2
3
4
5
6
7
8
9
10
11
|
tar -zxvf openssl-1.1.1g.tar.gz
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s -f /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s -f /usr/local/openssl/include/openssl /usr/include/openssl
ln -s -f /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v
openssl version
|
1
2
3
4
5
6
7
|
tar -xf Python-3.10.3.tar.xz
./configure --prefix=/home/misaraty/soft/python3.10.3 --with-openssl=/usr/local/openssl
make && make install
cd /home/misaraty/soft/python3.10.3/bin
ln -s python3 python
ln -s pip3 pip
|
Python2.7
若仅安装Python2.7,
1
|
tar -jxvf Python-2.7.tar.bz2 && mkdir python2.7&&cd Python-2.7 && ./configure --prefix=/backup/home/misaraty/soft/python2.7 --enable-shared && make -j 16 && make install
|
并修改.bashrc
,
1
|
export PATH=/home/misaraty/soft/python2.7/bin:$PATH
|
清除pip缓存
Notepad++调用
若想直接将Notepad++与Anaconda链接运行代码,需要在Notepad++中运行
-运行
,输入以下代码,
1
|
cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
|
打包exe
若是想将py文件打包成exe文件,方便其他未安装Python环境的组员使用,可以运行,
1
2
3
4
|
pip install pyinstaller
cd C:\Users\m\Desktop
pyinstaller -F a.py -i a.ico
pyinstaller -F a.py -i a.ico --noconsole
|
代码格式化
一般来说,自己写的Python代码并没有严格格式化,可以使用autopep8来自动格式化。安装autopep8
,
1
|
conda install -c conda-forge autopep8
|
在Notepad++中运行以下代码来实现自动格式化,
1
|
cmd /k autopep8 --in-place --aggressive --aggressive "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT
|
代理
打开C:\Users\m\.condarc
,增加,
1
2
3
4
|
proxy_servers:
http: socks5://127.0.0.1:7890
https: socks5://127.0.0.1:7890
ssl_verify: False
|
打开C:\Users\m\AppData\Roaming\pip\pip.ini
,增加,
1
|
proxy = socks5://127.0.0.1:7890
|
或,
1
2
3
4
5
6
7
8
|
import requests
proxies = {
'http':'socks5://127.0.0.1:7890',
'https':'socks5://127.0.0.1:7890'
}
url = 'https://xxx.com/'
res = requests.get(url, proxies=proxies)
|