python 下载

 
https://www.python.org/getit/

https://www.python.org/downloads/release/python-379/

pycharm
https://blog.jetbrains.com/zh-hans/pycharm/

https://download-cdn.jetbrains.com/python/pycharm-community-2024.2.4.exe

python IDE

 

pycharm

https://blog.jetbrains.com/zh-hans/pycharm/

https://download-cdn.jetbrains.com/python/pycharm-community-2024.2.4.exe


 

    

 

    

 


 

  

 


python windows安装
下载地址
https://www.python.org/downloads/ https://www.python.org/downloads/windows/ https://www.python.org/ftp/python/3.7.9/python-3.7.9-amd64.exe https://www.python.org/ftp/python/3.7.9/python-3.7.9-embed-amd64.zip
windows安装python的注意事项

windows有安装器,就是在窗口上点击下一步,下一步直到安装完成,这种情况需要注意
安装器会在控制面板的程序中注册一个标记,
删除的时候不要像在linux上那样直接删除文件,而是要去控制面板程序卸载,
一旦手工删除了文件,控制面板的程序卸载时找不到文件就无法卸载,
关键是它不卸载干净,再安装同版本时,就安装不上了,只能安装其他版本

目录注意事项

python的安装通常会带pip,用jupyter的话还要另行安装,
此类命令都依赖python所在的目录,
换句话讲,将安装好的文件换个目录,这些命令就无法使用了
要想一次安装后,在公司与家里通用怎么办,或者电脑坏了,换个环境依然快速用起来
这里提供几种解决方法:
1 将软件安装在U盘里,U盘的盘符换一个不常用的盘符,避免与其他盘符冲突,使用U盘在公司与家里移动
2 有很多云盘有自动同步功能,把目录设置为自动同步,盘符尽量通用,比如D盘,适合小量文件


安装完成后,将以下两个路径添加到path中
K:\tpf\aiwks\app\windows\py3109
K:\tpf\aiwks\app\windows\py3109\Scripts

添加变量PYTHONPATH,一个是项目包目录,一个是python软件库目录
K:\tpf\aiwks\code\aisty
K:\tpf\aiwks\app\windows\py3109\Lib\site-packages
    

 

    

 
下载python-3.11.9-amd64.exe,双击进行安装
    
如果本地已安装过则先进行卸载

 
手工删除旧的环境变量 
    

 
导出已安装的包:
pip freeze > requirements.txt

D:\app\py311_aml\python.exe -m pip install --upgrade pip

D:\app\py311_aml\python.exe -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple


 

    

 

    

 

    

 

    

 

    

 

    

 


 

  

 


 
python3安装-ubantu环境

### python3 普通用户 ubantu 环境 
使用root用户安装,以避免出现权限问题

apt-get install libbz2-dev  # ubantu 

wget https://www.sqlite.org/snapshot/sqlite-snapshot-202212231449.tar.gz

sqlite通常被很多程序依赖,但它的安装在python之前
tar -xvf sqlite-snapshot-202212231449.tar.gz
cd sqlite-snapshot-202212231449/
./configure -prefix=/opt/app/sqlite3
make
make install


重新编译安装python3
cd Python-3.9.15/
vim setup.py 
在下面这段的下一行添加’/media/xt/san/tpf/aiwks/app/ubantu/sqlite3/include’,
sqlite_inc_paths = [ '/usr/include',
                             '/usr/include/sqlite',
                             '/usr/include/sqlite3',
                             '/usr/local/include',
                             '/usr/local/include/sqlite',
                             '/usr/local/include/sqlite3',
                             '/opt/app/sqlite3/include',
                             ]

./configure --prefix=/opt/app/python3
make 
sudo make install

环境变量配置
export PYTHONHOME=/opt/app/python3
export PATH=$PYTHONHOME/bin:$PATH 
export PYTHONPATH=$PYTHONHOME/lib/python3.9/site-packages
export PYTHONWKS=/media/xt/san/tpf/aiwks/code/aisty
export PYTHONPATH=$PYTHONWKS:$PYTHONPATH

python 环境变量配置

两个核心参数

 
export PATHHONPATH=/home/xt/anaconda3/lib/python3.9/site-packages
export PYTHONIOENCODING=UTF-8

PATHHONPATH:增加python库搜索路径,可以有多个
PYTHONIOENCODING:解决Python读取linux文件的中文乱码问题

 
centos7 root环境python安装
### python2环境-root用户
这里指root下的python2环境,这个环境被多个其他软件安装所依赖;
检查python2环境,如果没有则需要安装
yum install gcc openssl-devel bzip2-devel
    
不要在root用户下安装python3
 
conda安装及环境初始化-ubantu环境
安装conda
到https://www.anaconda.com/下载及安装
https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh

Anaconda3-2022.10-Linux-x86_64.sh 对应python3.9 
安装用户可以是root,也可以是普通用户  

sudo mkdir -p /ai/app
sudo chown -R xt.xt /ai/
sh Anaconda3-2022.10-Linux-x86_64.sh
Anaconda3 will now be installed into this location:
/home/xt/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/home/xt/anaconda3] >>> /ai/app/anaconda39
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
[no] >>> yes
Traceback (most recent call last):
  File "/ai/app/anaconda39/bin/conda", line 14, in 
    from conda.cli import main
ModuleNotFoundError: No module named 'conda'
If you'd prefer that conda's base environment not be activated on startup, 
   set the auto_activate_base parameter to false: 

conda config --set auto_activate_base false

Thank you for installing Anaconda3!
===========================================================================


环境变量配置,添加用户,Jupyter的运行需要普通用户 
adduser py39
chown -R py39.py39 /ai/app/anaconda3/
su - py39

添加环境变量 
export PATH=/ai/app/anaconda3/bin:$PATH

conda init

 
手工初始化conda环境, 就可以初始化一个base的conda环境 
$ ./conda init

conda 常用语法

base环境

 

如果安装时没有设置base环境,可以通过下面的方式设置,
后续每次进入该用户自动加载base环境,本次并不会,需要重新进入
[root@hub bin]# ./conda init base

取消
conda config --set auto_activate_base false

新建环境

 
conda env list
conda create -n py39 python=3.9

conda activate py39 
conda deactivate

新建的环境需要使用activate才能进入该环境 

python AI常用依赖包
安装pandas/sklearn时会自动安装numpy,scipy

pip install pandas
pip install sklearn
pip install sklearn_crfsuite
pip install chinese_calendar
pip install matplotlib
pip install pydotplus
pip install jieba

pip install torch torchvision torchaudio
>>> import torch
>>> torch.__version__
'1.13.1+cpu'

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.1+cpu.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.13.1+cpu.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-1.13.1+cpu.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-1.13.1+cpu.html

>>> import torch
>>> torch.__version__
'1.13.1+cu117'

pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.1+cu117.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-1.13.1+cu117.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-1.13.1+cu117.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-1.13.1+cu117.html


pip install --user  -i https://pypi.tuna.tsinghua.edu.cn/simple py2neo

pip install jupyter 

pip install cx_Oracle 
pip install pymysql==1.0.2
pip install sqlalchemy


依赖包安装问题
import pandas 
ModuleNotFoundError: No module named '_bz2'
-------------------------------------------------------------
这个问题真是太经典了,看着简单,但一上来怎么都解决不了... 

_bz2是压缩功能相关包,它来自系统,
根源在于安装pandas时如果系统缺少bz压缩依赖包,pandas还能照常安装,不报错,
在import pandas时给你来一个 
File "/opt/app/python3/lib/python3.9/site-packages/pandas/io/common.py", line 8, in 
    import bz2
  File "/opt/app/python3/lib/python3.9/bz2.py", line 18, in 
    from _bz2 import BZ2Compressor, BZ2Decompressor
ModuleNotFoundError: No module named '_bz2'


先在OS上安装 
yum install bzip2-devel     # linux 
apt-get install libbz2-dev  # ubantu 

实际上这个问题属于python的安装问题,在python的编辑阶段,
后续发现少了,就是安装缺失的依赖包,重新编辑python,
有人会把别的地方编辑好的库文件COPY过来,但有时这样不生效,
pandas可能认为python编辑的事自己管不到,你再编辑一下就好... 

备份一下原来的python目录,其实主要是备份那些你曾经安装过的库文件 
cp -r python3/ python39

然后重新编辑python 
tar -xvf Python-3.9.15.tar.xz 
cd Python-3.9.15/
vim setup.py # 这一步是把sqlite这个提前依赖的库文件路径加载进去了 
./configure --prefix=/opt/app/python3
make 
sudo make install

这次安装完之后,就多了一个_bz2.so文件
$ pwd
/opt/app/python3/lib/python3.9/lib-dynload
$ ll _bz*
-rwxr-xr-x 1 root root 63680  1月 30 15:32 _bz2.cpython-39-x86_64-linux-gnu.so*

然后再把原来的依赖包COPY过来,
这样省事地COPY安装后的依赖包没问题吗?
我最近一直这么用,线上不联网,我就是这么处理的,
目前没遇到问题,如果遇到了,我会在这个专栏上记录什么依赖包COPY会出错 
目前看,AI这一堆依赖包没啥问题 
rsync -avP python39/lib/python3.9/site-packages/* python3/lib/python3.9/site-packages/

xt@xt:/opt/app$ python
Python 3.9.15 (main, Jan 30 2023, 15:31:27) 
[GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
>>> 
 
python软件复用
python/anaconda的安装都比较依赖安装时目录 
如果环境变化,又无法在固定的目录存放软件,可以通过软链接的方式访问
 
jupyter notebook 环境搭建
安装jupyter
首先安装jupyter,conda自带,python则执行以下命令
pip install jupyter 
 
python安装pip
https://pypi.org/project/pip/#files
[py39@pt1 pip-22.3.1]$ python setup.py install

pip的运行过程:
1 下载packagename.tar.gz,这一步要求联网
2 使用setuptools对下载的文件进行编辑安装,这一步要求GCC版本不能过低
3 将编辑好的文件copy到site-packages目录下

若直接对接最后一步,将别的地方的site-packages目录下的文件夹COPY到另外一个site-packages目录下,也没啥大问题;
前提是系统版本,GCC版本对应上;不对应上的,个人没测试过...也有可能OK 
适合线上环境不连接外网的场景
 
python docker 环境
主要目的是对应线上的centos7环境,同时也方便在公司,家里等多台电脑间移动

只留下一个/tmp目录的映射,内外环境几乎全部隔离
docker run -itd --name pt2 -h pt2 --net mydk --ip 192.168.73.112  -v /tmp:/tmp cent7 bash
docker exec -it pt2 bash

yum install -y net-tools libaio numactl

安装目录极其重要,
anaconda在安装过程中就认定了这个目录,以固定路径的方式写入了很多conda相关的文件
若换了目录python的依赖包仍然可用,因为依赖包是相对于python文件位置的
而conda相关的命令就几乎全不可用了


[root@pt2 /]# adduser py39
[root@pt2 /]# mkdir -p /ai/app   
[root@pt2 /]# chown -R py39.py39 /ai/app/
[root@pt2 /]# su - py39
[py39@pt2 ~]$ sh /tmp/Anaconda3-2022.10-Linux-x86_64.sh 
[/home/py39/anaconda3] >>> /ai/app/anaconda3
by running conda init? [yes|no]
[no] >>> yes

思考:
线上环境与外网隔离,这也导致conda即使是好的,也无法使用,所以如果位置变化了,致使其不可用,也无关紧要;
除去网络后,anaconda还有哪些优势?
它自带了很多依赖包,
它的安装不依赖于GCC,
将安装后文件可以在ubantu/linux服务器上方便转移,同时如果迁移目录一致conda也能使用
conda可以快速搭建多个python环境

vscode要ssh连接docker需要先安装ssh服务
yum install -y openssl openssh-server
my jupyter
相关资源
    mycondav1.tar.gz夸克网盘下载