目录

Python

misaraty 更新 | 2024-12-25
前言
Python简介。

文档

Python是科研中的利器,我们可以使用Python3.x及扩展包进行数据处理、绘图,甚至符号运算。数据处理方面,PerlPython都可以,前者数据的列处理方便,类似Matlab中的矩阵操作;后者功能更多,代码可读性更强,运行速度也更快。绘图方法,因为Matplotlib的加入,Python默认出图较为美观,算是Origin的简化版。符号运算方法,ScipySympy可以进行方程运算和符号推导,但比Mathematica弱很多。

安装

Anaconda

便捷的安装方法是通过Anaconda安装PythonLinux环境下只需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缓存

1
pip cache purge

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

激活Base环境

1
2
3
source /opt/ohpc/pub/apps/anaconda3/bin/activate
conda activate base
conda info --envs

代理

  • conda

修改C:\Users\lenovo\.condarc

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

proxy_servers:
    http: socks5://127.0.0.1:7890
    https: socks5://127.0.0.1:7890
ssl_verify: False
  • pip

新增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)

虚拟环境

创建虚拟环境

1
conda create -n tf1 python=3.6 # 因为TensorFlow 1.15.5需要Python 3.6。

查看虚拟环境

1
conda env list

or

1
conda info --envs

激活虚拟环境

1
conda activate tf1

使用代理

  • 安装pysocks
1
pip install pysocks
  • 设置代理
1
2
set HTTP_PROXY=socks5://127.0.0.1:7890
set HTTPS_PROXY=socks5://127.0.0.1:7890
  • 禁用SSL验证
1
conda config --set ssl_verify False
  • 取消代理
1
2
set HTTP_PROXY=
set HTTPS_PROXY=

退出虚拟环境

1
conda deactivate

删除虚拟环境

1
conda remove -n tf1 --all # 退出之后再删除