pip install 依赖包

-i https://pypi.tuna.tsinghua.edu.cn/simple

 
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple  #pip要求系统具有SSL

pip install lightgbm xgboost statsmodels -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install pandas sklearn-pandas scikit-learn hmmlearn  sklearn_crfsuite chinese_calendar matplotlib  pydotplus  openpyxl  pdfminer.six -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install jupyter jupyter_contrib_nbextensions -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install featuretools feature-engine tsfresh mlxtend shap seaborn pyod copulas cx_Oracle pymysql==1.0.2 sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple

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

windows 安装遇到异常时,可尝试以下操作

 

下载windows SDK相关组件
https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

安装C++相关,安装windows SDK 
vs_BuildTools


D:\app\py313\python.exe -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
    

conda install catboost

 

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup


wget https://sh.rustup.rs -O rustup-init.sh && chmod +x rustup-init.sh && ./rustup-init.sh

    

 
torch2.4+大模型版
pip install torch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 transformers==4.44.0   -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install tokenizers==0.19.1 triton==3.0.0 vllm==0.5.5 vllm-flash-attn==2.6.1  -i https://pypi.tuna.tsinghua.edu.cn/simple

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



torch2.5 无大模型
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
    
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.5.1+cu124.html



pip install onnx onnxruntime skl2onnx -i https://pypi.tuna.tsinghua.edu.cn/simple

安装最新版 
pip install torch torchvision torchaudio onnx onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simple

常用

 
>>> import torch
>>> torch.__version__
'2.5.1+cu124'

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

升级gcc 
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-6 g++-6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6

卸载

 
目前torch-scatter在torch2.6.0版本上,不支持,因此回到2.5.1版,这就需要卸载现在的torch2.6.0

pip uninstall torch-scatter torch-sparse torch-geometric torch-cluster torch-spline-conv
pip uninstall torch torchvision torchaudio

i-aml@ml python]$ pip list|grep torch
torch                             2.5.1
torch_cluster                     1.6.3+pt25cu124
torch-geometric                   2.6.1
torch_scatter                     2.1.2+pt25cpu
torch_sparse                      0.6.18+pt25cu124
torch_spline_conv                 1.2.2+pt25cu124
torchaudio                        2.5.1
torchvision                       0.20.1


pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
    
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
  

其他

 
https://pytorch.org/get-started/locally/
conda install pytorch torchvision torchaudio cpuonly -c pytorch
或
pip install torch torchvision torchaudio
>>> import torch
>>> torch.__version__
'1.13.1+cpu'

pip install torch-scatter -f https://data.pyg.org/whl/torch-2.0.0+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'
2.2.2+cu121

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

>>> import torch
>>> torch.__version__
'2.0.0'

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

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

>>> import torch
>>> torch.__version__
'2.5.1+cu124'

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


>>> import torch
>>> torch.__version__
'2.6.0+cu124'

针对2.6.0版本,下面的安装不成功,但采用2.5.1版本的torch,就可以成功

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


    

 

    

 
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣(douban) http://pypi.douban.com/simple/

阿里云 http://mirrors.aliyun.com/pypi/simple/

华为云镜像源 https://developer.huaweicloud.com/mirror/#/pypi_simple


 


    

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

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

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

 


 


 
pip install dtreeviz 
conda install python-graphviz

graphviz的系统依赖

 
在 Python 中使用 pip 安装 Graphviz 库时,需执行以下命令:
pip install graphviz


需要注意的是,
pip install graphviz仅安装用于生成 DOT 文件及调用 Graphviz 工具的 Python 接口模块,
而实际渲染图形的功能依赖系统级 Graphviz 软件。
因此,需额外完成以下步骤:

ubuntu系统 
sudo apt install graphviz

https://graphviz.org/download/

windows系统使用conda安装可自动下载相关的依赖包
conda install python-graphviz

D3

 
pip install d3blocks


D3生成的html,使用下面的方法可以转图片
pip install pyppeteer


 

    

 

    

 

    
python安装

 

https://www.anaconda.com/

https://www.anaconda.com/download


    

anaconda常用命令

 

创建一个新的虚拟环境
conda create --name jupyter_venv python=3.12

激活虚拟环境
conda activate jupyter_venv

退出当前虚拟环境
conda deactivate

删除某个虚拟环境
conda remove -n your_env_name --all 
其中,-n与--name等价,表示虚拟环境名
         

conda env list

conda list
    

 

conda install 依赖包名称 

    

 

    

python

 
下载
https://www.python.org/

https://www.python.org/downloads/windows/
    

环境变量

 
D:\app\py312\Scripts\
D:\app\py312\

 

    

 


 

  

 


python IDE及git

 

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

PyCharm Community Edition

https://www.jetbrains.com/pycharm/download/?section=windows

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


pycharm-community-2024.3.1.1.tar.gz
    
pycharm-community-2024.3.2.tar.gz
    

pycharm拉取git仓库

 
新版的Pycharm拉取git仓库让输入 口令,没有了用户名与密码界面

此时若没有口令,可随意输入一串字符,点击登录

因为这口令是假的,所以会得到一个错误提示... 

关键是这错误提示面板上,有一个指向git用户名与密码登录的链接

点击该链接输入用户名与密码,就可以使用之前的方式登录了

 
Pycharm新建一个git项目或者自己初始化一个git项目

mkdir repo
cd repo 
git init 

git remote add origin http://192.168.11.2:8888/repo.git

git pull origin dev  #拉取指定分支,默认为main 

此时用IDE打开目录,修改一文件推送,IDE就会提示输入口令... 
正常情况下,文件变化后,文件在IDE中变色,如果没有变色,可以重启一下IDE     


 
先更新后提交

提交时,若远程有多个分支,可以选提交到哪个分支  
    

 

git服务器端
sudo apt update
sudo apt install git openssh-server openssh-client

git --version
sudo systemctl status ssh 
sudo systemctl enable ssh

初始化仓库,--bare代表仓库是裸的,方便之后上传文件
cd 
mkdir myrepo.git
cd myrepo.git
git init --bare

ssh git@192.168.1.133

客户端
git config --global user.name "xuetu"
git config --global user.email "itoracle@163.com"

cd /tmp/
git clone git@192.168.1.133:~/myrepo.git


cd myrepo
touch README.md
echo "hello git!" > README.md

git status 
git add fil1 fil2  #指定文件 
git add .    #所有修改过的文件 

git add . 
git commit -m "init"


查看提交历史记录
$ git log
commit 60a201dbbef8a2b3001b2787e36d0802d1967f91 (HEAD -> master)
Author: xuetu 
Date:   Fri Feb 7 20:41:24 2025 +0800

    init


git push origin master

 

    

 

    

 


 

  

 


windows·docker 环境

 
https://www.docker.com/products/docker-desktop/
    

 

docker run -itd --privileged --name kl -h kl  --gpus all -p 22022:22 -p 18009:8009 -p 18008:8008 -p 18007:8007 -p 18006:8006 -p 18005:8005 -p 18004:8004 -p 18003:8003 -p 18002:8002 -p 18001:8001 -p 18000:8000 -p 19000:9000 -p 18888:8888 -p 18887:8887 -p 18886:8886 -p 18885:8885 -p 18884:8884 -p 18883:8883 -p 19999:9999 -p 19998:9998  -v /mnt:/mnt -v /tmp:/tmp -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu:20.04  bash

alias kl="sudo docker exec -it kl bash"


    

 

 

apt update 

apt install build-essential
apt install net-tools vim pkg-config  git  ntpdate  libxft-dev curl cmake sudo

Asia Hong_Kong

apt install build-essential   openssh-server libssl-dev 

apt install libxinerama-dev libcairo-gobject2  libpango1.0-dev  libpangoxft-1.0-0 libpangocairo-1.0-0 libxcursor-dev libcairo2-dev libbz2-dev 

apt-get install libx11-dev libxext-dev libxtst-dev libxrender-dev libxmu-dev libxmuu-dev

apt-get install libaio-dev tcl tk expect  libldap2-dev libsasl2-dev

apt-get install rsync p7zip-full unzip

sudo apt install alsa-utils software-properties-common ubuntu-drivers-common

sudo apt-get install libffi-dev
sudo apt-get install liblzma-dev
sudo apt-get install libsqlite3-dev
sudo apt install libreadline-dev
    

 
adduser xt
echo '%xt ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/xt

chown -R xt:xt /opt/


 

  

 


ubuntu·python 安装

系统依赖包

 
apt list |grep libffi-dev
apt list |grep liblzma-dev
apt list |grep libsqlite3-dev

sudo apt-get update

sudo apt-get install libffi-dev
sudo apt-get install liblzma-dev
sudo apt-get install libsqlite3-dev
sudo apt-get install libssl-dev
sudo apt-get install libreadline-dev
sudo apt-get install libbz2-dev

sqlite3

 

https://www.sqlite.org

mkdir /opt/python/ubuntu_sqlite3/
unzip sqlite-src-3480000.zip 
cd sqlite-src-3480000/
ls
./configure --prefix=/opt/python/ubuntu_sqlite3/
make
make install

xt@ai:/opt/python$ cd ubuntu_sqlite3/
xt@ai:/opt/python/ubuntu_sqlite3$ cd bin/
xt@ai:/opt/python/ubuntu_sqlite3/bin$ ./sqlite3 
SQLite version 3.48.0 2025-01-14 11:05:00
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
  
    

openssl

 

wget https://www.openssl.org/source/openssl-3.3.2.tar.gz --no-check-certificate

mkdir /opt/python/ubuntu_ssl3
tar -xvf openssl-3.3.2.tar.gz
cd openssl-3.3.2/

./config shared --prefix=/opt/python/ubuntu_ssl3
sudo make 
sudo make install
  

 
export LD_LIBRARY_PATH=/opt/python/ubuntu_sqlite3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/python/ubuntu_ssl3/lib64:$LD_LIBRARY_PATH
export PYTHON_SSL_DEFAULT=/opt/python/ubuntu_ssl3  # 其中PYTHON_SSL_DEFAULT不加有时也可以

#下面两行命令相对底层,直接在编译配置层面加入指定的源码文件目录及库文件目录
export CFLAGS="-I/opt/python/ubuntu_sqlite3/include $CFLAGS"
export LDFLAGS="-L/opt/python/ubuntu_sqlite3/lib $LDFLAGS"

tar -xvf Python-3.12.9.tar.xz
mkdir /opt/python/ubuntu_py3129_gpu
cd Python-3.12.9
./configure --prefix=/opt/python/ubuntu_py3129_gpu --enable-optimizations



下面这种情况是不行的,如果出现这种情况,重新源码编译sqlite3
checking for sqlite3 >= 3.7.15... yes
checking for sqlite3.h... yes
checking for sqlite3_bind_double in -lsqlite3... no
checking for sqlite3_column_decltype in -lsqlite3... no
checking for sqlite3_column_double in -lsqlite3... no
checking for sqlite3_complete in -lsqlite3... no
checking for sqlite3_progress_handler in -lsqlite3... no
checking for sqlite3_result_double in -lsqlite3... no
checking for sqlite3_set_authorizer in -lsqlite3... no
checking for sqlite3_trace_v2 in -lsqlite3... no
checking for sqlite3_trace in -lsqlite3... no
checking for sqlite3_value_double in -lsqlite3... no
checking for sqlite3_load_extension in -lsqlite3... no
checking for sqlite3_serialize in -lsqlite3... no


checking for stdlib extension module _sqlite3... missing

下面的情况是可以的,重在最后的checking _sqlite3 为yes
checking for sqlite3 >= 3.7.15... no
checking for sqlite3.h... no

checking for sqlite3 >= 3.7.15... no
checking for sqlite3.h... yes
checking for sqlite3_bind_double in -lsqlite3... yes

几个yes 
checking for stdlib extension module _sqlite3... yes
checking for stdlib extension module zlib... yes
checking for stdlib extension module _bz2... yes
checking for stdlib extension module _lzma... yes
checking for stdlib extension module _ssl... yes
checking for stdlib extension module _hashlib... yes
checking for stdlib extension module _ctypes_test... yes


make   / make clean 

注意下面不会出现_ssl,前面也不会提示_sqlite3禁用或找不到 
The necessary bits to build these optional modules were not found:
_curses               _curses_panel         _dbm               
_gdbm                 _lzma                 _tkinter           
nis                   readline   


make install

chown -R xt:xt /opt/python/

环境变量

 
#export PYTHONPATH=自己的工作目录 
export PATH=/opt/python/ubuntu_py3129/bin:$PATH

cd /opt/python/ubuntu_py3129_gpu/bin 
ln -s python3 python
ln -s pip3 pip

which python
/opt/python/ubuntu_py3129/bin/python

which pip
/opt/python/ubuntu_py3129/bin/pip
    

 

 
sudo apt-get update
sudo apt-get install --reinstall openssl
    
xt@xuetu:~$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)

xt@xuetu:~$ ssh -V
OpenSSH_8.9p1 Ubuntu-3ubuntu0.11, OpenSSL 3.0.2 15 Mar 2022

 
尽量安装3.0.2版本,这个与ubuntu(22.04.05)自带的版本一致
    
如果安装的3.3版本导致ssh无法使用,则注释环境变量的Lib库路径即可

 

    

 
目前ubuntu最高版本的libffi为8,低一点的ubuntu为7,
这涉及将一个ubuntu上编译好的python直接COPY到另外一个ubuntu上是否依然能用
$ find /usr/ -name libffi*
/usr/share/doc/libffi8
/usr/lib/x86_64-linux-gnu/libffi.so.8
/usr/lib/x86_64-linux-gnu/libffi.so.8.1.4

 
mkdir /wks/python/ubuntu_sqlite3/
unzip sqlite-src-3480000.zip 
cd sqlite-src-3480000/
ls
./configure --prefix=/wks/python/ubuntu_sqlite3/
make
make install

openssl

 
尽量选择与系统默认版本贴近的openssl版本,避免影响系统运行 
$ openssl version
OpenSSL 3.0.13 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)

wget https://github.com/openssl/openssl/releases/download/openssl-3.0.16/openssl-3.0.16.tar.gz

tar -xvf openssl-3.0.16.tar.gz
cd openssl-3.0.16/

mkdir /wks/python/ubuntu_ssl3
./config shared --prefix=/wks/python/ubuntu_ssl3
make 
make install

 
#添加到环境变量
export LD_LIBRARY_PATH=/wks/python/ubuntu_sqlite3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/wks/python/ubuntu_ssl3/lib64:$LD_LIBRARY_PATH
export PYTHON_SSL_DEFAULT=/wks/python/ubuntu_ssl3  # 其中PYTHON_SSL_DEFAULT不加有时也可以

#下面两行在命令行执行即可,即编译时用一下,其他情况不用 
#下面两行命令相对底层,直接在编译配置层面加入指定的源码文件目录及库文件目录
export CFLAGS="-I/wks/python/ubuntu_sqlite3/include $CFLAGS"
export LDFLAGS="-L/wks/python/ubuntu_sqlite3/lib $LDFLAGS"
  

 
tar -xvf Python-3.11.11.tar.xz
cd Python-3.11.11/
  
mkdir /wks/python/ubuntu_py311_gpu
./configure --prefix=/wks/python/ubuntu_py311_gpu --enable-optimizations

几个重要配置检查

 
checking for stdlib extension module _sqlite3... yes
checking for stdlib extension module _tkinter... missing
checking for stdlib extension module _uuid... yes
checking for stdlib extension module zlib... yes
checking for stdlib extension module _bz2... yes
checking for stdlib extension module _lzma... missing
checking for stdlib extension module _ssl... yes
  

主要是sqlite3,ssl,zlib,bz安装就可以,下面的两个可安也可不安,其他的就不用安装了,用不上
sudo apt-get install liblzma-dev
sudo apt-get install tk-dev

 
  
make   / make clean 

make install

  

 
#export PYTHONPATH=自己的工作目录 
export PATH=/wks/python/ubuntu_py311_gpu/bin:$PATH

cd /wks/python/ubuntu_py311_gpu/bin 
ln -s python3 python
ln -s pip3 pip

which python
/wks/python/ubuntu_py311_gpu/bin/python

which pip
/wks/python/ubuntu_py311_gpu/bin/pip

 

  

 

  

 

  

 


ubuntu·docker 环境

 
网络不好时,最好配置一个国内的ubantu源,此次安装Ubantu20.04.4
sudo add-apt-repository ppa:graphics-drivers/ppa  
sudo apt update  
sudo apt upgrade

使用ubuntu-drivers工具检测可用的NVIDIA驱动,并安装推荐的驱动:
ubuntu-drivers devices  
sudo ubuntu-drivers autoinstall

 
nvidia-smi

    

 

    

 
sudo apt-get update
sudo apt install docker.io

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

sudo systemctl start docker
sudo systemctl enable docker
docker -v

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

sudo apt-get install -y  nvidia-docker2

sudo systemctl restart docker

 
docker run -itd --privileged --name qs01 -h qs01  --gpus all --net=host -v /wks:/wks -v /data:/data  -v /opt:/opt  -v /tmp:/tmp -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubuntu:24.04  bash

docker exec -it qs01 bash 

alias qs011="sudo docker start qs01"
alias qs012="sudo docker stop qs01"
alias qs01="sudo docker exec -it qs01 su - xt"


 



 


 

  

 


WSL·docker 环境

共享主机IP

 
WSL 24.04 , docker 24.04 ,内外环境一致

独立网段

 
docker network rm  mydk
docker network create --subnet=192.168.73.0/24 mydk

docker run -itd --privileged --name uu -h uu  --gpus all --net mydk --ip 192.168.73.11 -p 22001:22 -p 8009:8009 -p 8008:8008 -p 8007:8007 -p 8006:8006 -p 8005:8005 -p 8004:8004 -p 8003:8003 -p 8002:8002 -p 8001:8001 -p 8000:8000 -p 9000:9000 -p 9001:9001 -p 9002:9002 -p 9003:9003 -p 3306:3306 -p 8889:8889 -p 8888:8888 -p 8887:8887 -p 8886:8886 -p 8885:8885 -p 8884:8884 -p 8883:8883 -p 11434:11434  -v /wks:/wks -v /data:/data  -v /opt:/opt  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all xt:1.1  bash

alias uu1="sudo docker start uu"
alias uu2="sudo docker stop uu"
alias uu="sudo docker exec -it uu bash"

增加端口映射

 
docker run -itd --privileged --name uu -h uu  --gpus all --net mydk --ip 192.168.73.11 -p 22001:22 -p 8009:8009 -p 8008:8008 -p 8007:8007 -p 8006:8006 -p 8005:8005 -p 8004:8004 -p 8003:8003 -p 8002:8002 -p 8001:8001 -p 8000:8000 -p 9000:9000 -p 9001:9001 -p 9002:9002 -p 9003:9003 -p 3306:3306 -p 8889:8889 -p 8888:8888 -p 8887:8887 -p 8886:8886 -p 8885:8885 -p 8884:8884 -p 8883:8883 -p 11434:11434  -v /wks:/wks -v /data:/data  -v /opt:/opt  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all xt:1  bash

alias uu1="sudo docker start uu"
alias uu2="sudo docker stop uu"
alias uu="sudo docker exec -it uu bash"

alias jpy="nohup jupyter-lab --ip=0.0.0.0 --no-browser --allow-root & "

 


 

    

 
su - py1 
sudo mkdir /wks/python/py1
sudo chown -R py1:py1 /wks/python/py1

sudo chown -R py1:root  /wks/python/soft/Python-3.11.11
cd /wks/python/soft/Python-3.11.11
./configure --prefix=/wks/python/py1 --enable-optimizations

    

 
checking for stdlib extension module _sqlite3... yes
checking for stdlib extension module _tkinter... yes
checking for stdlib extension module _uuid... yes
checking for stdlib extension module zlib... yes
checking for stdlib extension module _bz2... yes
checking for stdlib extension module _lzma... yes
checking for stdlib extension module _ssl... yes

checking for stdlib extension module _ctypes_test... yes

 
make
make install

cd /wks/python/py1/bin
ln -s python3 python
ln -s pip3 pip

#export PYTHONPATH=自己的工作目录 
export PYTHONHOME=/wks/python/py1
export PATH=$PYTHONHOME/bin:$PATH

py1@qs01:~$ which python
/wks/python/py1/bin/python
py1@qs01:~$ which pip
/wks/python/py1/bin/pip

 

机器学习见前面安装部分
深度学习这里指定版本安装 

pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install torch-scatter -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.5.1+cu124.html
pip install onnx onnxruntime skl2onnx onnxmltools
pip install imblearn


 
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

/usr/local/nginx/sbin/nginx -v

jupyter启动

 
jupyter-lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root --NotebookApp.token='mytoken' --NotebookApp.base_url='/py1'
    

nginx配置

 
xt@xuetu:/etc/nginx/conf.d$ sudo vim jupyter.conf

server {
    listen 18888;
    server_name 172.24.40.18;  # 替换为你的服务器域名或IP地址,或者留空使用默认配置

    # 设置日志路径(可选)
    access_log /var/log/nginx/jupyter_access.log;
    error_log /var/log/nginx/jupyter_error.log;

    location /py1/ {
        proxy_pass http://192.168.73.11:8888/py1/;  # Docker 容器内 Jupyter Notebook 的 IP 和端口
        proxy_set_header Host $host;
        proxy_set_header Origin "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 如果 Jupyter Notebook 使用了 WebSocket,需要添加以下配置
        proxy_http_version 1.1;
        proxy_read_timeout 86400;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

    }

}

 
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

sudo systemctl restart nginx

 
jupyter后台启动
nohup jupyter-lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root --NotebookApp.token='mytoken' --NotebookApp.base_url='/py1' & 

alias jpy="nohup jupyter-lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root --NotebookApp.token='mytoken' --NotebookApp.base_url='/py1' & "


页面访问
http://172.24.40.18:18888/py1

 
添加端口映射后,查看运行的容器显示有些乱

自定义排版显示

 
vim dps.sh 
#!/bin/bash

echo -e "CONTAINER ID\tIMAGE\t\tNAMES\t\tCOMMAND\t\tSTATUS"
docker ps -a --format "\t\t\t\t\t\t\t"
  

 
chmod +x dps.sh 

$ ./dps.sh
CONTAINER ID    IMAGE           NAMES           COMMAND         STATUS
83132bf2ab3c    xt:1            p0              "bash"          Up 21 minutes
811150dba458    aml:1.3         ml              "bash"          Exited (255) 26 hours ago
1374a22aa837    ml:0.1          kl              "bash"          Exited (255) 28 hours ago
  

 


 

echo '%langchain ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/langchain
su - langchain
sudo mkdir /wks/python/langchain
sudo chown -R langchain:langchain /wks/python/langchain

sudo chown -R langchain:root  /wks/python/soft/Python-3.11.11
cd /wks/python/soft/Python-3.11.11
./configure --prefix=/wks/python/langchain --enable-optimizations

make
make install

 
cd /wks/python/langchain/bin
ln -s python3 python
ln -s pip3 pip

export PYTHONHOME=/wks/python/langchain
export PATH=$PYTHONHOME/bin:$PATH


which python
/wks/python/langchain/bin/python

which pip
/wks/python/langchain/bin/pip

 


ollama

 
添加用户,非必须,可直接使用现有用户
adduser ollama
echo '%ollama ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/ollama
su - ollama
    

 
创建安装目录
ollama@uu:~$ cd /wks/python/
ollama@uu:/wks/python$ ls
jupyter  py1  requirements_ubuntu_py311_gpu.txt  soft  ubuntu_py311_gpu  ubuntu_sqlite3  ubuntu_ssl3
ollama@uu:/wks/python$ sudo mkdir ollama
ollama@uu:/wks/python$ sudo chown -R ollama:ollama ollama/

vim .bashrc
export OLLAMA_MODELS=/wks/python/ollama
    
. ./.bashrc


安装  
curl -fsSL https://ollama.com/install.sh | sh
    
>>> Installing ollama to /usr/local
>>> Downloading Linux amd64 bundle
######################################################################## 100.0%
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
WARNING: systemd is not running
WARNING: see https://learn.microsoft.com/en-us/windows/wsl/systemd#how-to-enable-systemd to enable it
>>> Nvidia GPU detected.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.


代理设置1
https://blog.csdn.net/qq_35485206/article/details/143459935

 
代理设置2,端口代理,如果有代理端口的话
vim ~/.zshrc
 
# 添加
# proxy v2
export http_proxy="http://127.0.0.1:7890"
export ftp_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
export all_proxy="http://127.0.0.1:7890"
export no_proxy="localhost, 127.0.0.1,::1"
  
# 刷新
source ~/.zshrc
  

 
如果没有代理,有线网络不行,可以试试手机流量,有时候手机流量比有线网络还快 
- 或者多试几次 

 


    

 

    

 
服务启动
ollama serve

 
ollama list

ollama run deepseek-r1:1.5b
ollama run deepseek-r1:8b
ollama run deepseek-r1:14b
ollama run deepseek-r1:32b
ollama run deepseek-r1:70b
    

 


 


 

  

 


OS·重新安装

WSL xt环境变量

 
export GOWKS=/opt/wks/gowks
export GOROOT=$GOWKS/app/go
export GOBIN=$GOWKS/bin
export GOPATH=$GOWKS
export PATH=$GOROOT/bin:$GOBIN:$PATH

alias loc="/usr/local/bin/fibu  -conf /opt/wks/app/conf/web73.conf "
export PATH=/home/xt/wks/rust/rfil/xuetu/target/debug:$PATH

alias bwh="ssh -p 26225 144.34.185.72"
alias ling="ssh -p 22 'ai-aml@10.14.121.128'"

alias kl1="sudo docker start kl"
alias kl="sudo docker exec -it kl su - xt"
alias kl2="sudo docker stop kl"
alias ml1="sudo docker start ml"
alias ml2="sudo docker stop ml"
alias ml="sudo docker exec -it ml su - aml"

export NODEWKS=/wks/nodejs
export NODE_BASE=$NODEWKS/app/node-v20.9.0-linux-x64/
export PATH=$NODE_PATH/.bin:$NODE_BASE/bin:$PATH
export NODE_GLOBAL=$NODEWKS/app/global
export PATH=$NODE_GLOBAL/bin:$PATH


export PATH=/wks/python/ubuntu_py3129_gpu/bin:$PATH

export LD_LIBRARY_PATH=/wks/python/ubuntu_sqlite3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/wks/python/ubuntu_ssl3/lib64:$LD_LIBRARY_PATH
export PYTHON_SSL_DEFAULT=/wks/python/ubuntu_ssl3  # 其中PYTHON_SSL_DEFAULT不加有时也可以

export PATH=/wks/python/ubuntu_py311_gpu/bin:$PATH

alias loc="/usr/local/bin/fibu -conf /mnt/g/wks/app/fibu/path_local.conf"
alias toaml="ssh -p 22 'ai-aml@10.14.121.128'"

export PYTHONPATH=/wks/aitpf/src:$PYTHONPATH


alias q11="sudo docker start q1"
alias q12="sudo docker stop q1"
alias q1="sudo docker exec -it q1 bash"
alias py1="ssh 'py1@192.168.73.11'"
alias nx="sudo systemctl restart nginx"
alias qiyue="ssh 'julyedu_705817@101.133.217.125'"
alias rqi="rsync -avP julyedu_705817@101.133.217.125:/students/julyedu_705817/qiyue /wks/qiyue"


export JAVA_HOME=/wks/java/jdk1.8.0_231/
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

  
    

 

    

 

    

同步配置

 
cd /opt 
sudo ln -s /mng/g/wks ./wks 

sudo cp /wks/gowks/src/cmd/fibu/fibu /usr/local/bin/
which fibu
/usr/local/bin/fibu
    

web73启动

 
$ cat web73.sh
#!/bin/bash
cd /wks/web73
./web73 -addr=172.21.142.198:33033

    

SSH:py1

 
py1@uu:~/.ssh$ cd /mnt/c/Users/itora/
py1@uu:/mnt/c/Users/itora$ cat .ssh/id_rsa.pub >>~/.ssh/authorized_keys

service ssh restart 

ssh -p 22001 py1@172.21.142.198

alias uu1="sudo docker start uu;sudo docker exec -it uu /init.sh"
alias uu="sudo docker exec -it uu /init.sh"

权限

 
sudo chown -R deepseek:deepseek /wks/python/deepseek/
sudo chown -R py1:py1 /wks/python/py1 
sudo chown -R ollama:ollama /wks/python/ollama/

 

    

容器创建

 
docker network create --subnet=192.168.73.0/24 mydk

docker run -itd --privileged --name uu -h uu  --gpus all --net mydk --ip 192.168.73.11 -p 22001:22 -p 8009:8009 -p 8008:8008 -p 8007:8007 -p 8006:8006 -p 8005:8005 -p 8004:8004 -p 8003:8003 -p 8002:8002 -p 8001:8001 -p 8000:8000 -p 9000:9000 -p 9001:9001 -p 9002:9002 -p 9003:9003 -p 3306:3306 -p 8889:8889 -p 8888:8888 -p 8887:8887 -p 8886:8886 -p 8885:8885 -p 8884:8884 -p 8883:8883 -p 11434:11434  -v /wks:/wks -v /data:/data  -v /opt:/opt  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all xt:1.1  bash

vim /etc/profile
alias uu1="sudo docker start uu"
alias uu2="sudo docker stop uu"
alias uu="sudo docker exec -it uu bash"


docker容器列名显示

 
vim dps.sh

#!/bin/bash

sudo docker ps -a --format "table \t\t\t\t"
echo " "
    

 

  

 

  

 

  

 

  

 


参考