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/
    

环境变量

 
- windows 
```
D:\app\py312\Scripts\
D:\app\py312\
```

sqlite3

 
- python3.10自身以及之前的版本,需要在setup.py中添加sqlite3的include 路径
- python3.11以及之后的版本,可以设置环境变量,在Python编辑时会读取环境变量指定的位置 

```
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"
```

 

    

 

    

系统依赖包

 
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

如果ssl这项仍然没有yes,则可以参考sqlite的方式,直接将其添加到编译时环境变量中,如此必能找到
export CFLAGS="-I/wks/python/ubuntu_ssl3/include $CFLAGS"
export LDFLAGS="-L/wks/python/ubuntu_ssl3/lib64 $LDFLAGS"


 
  
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

 

  

 

  

 

- 系统依赖
```
sudo apt install -y liblzma-dev
```

```
xt@qisan:/wks/python/soft$ tar -xvf Python-3.10.9.tgz
cd Python-3.10.9/

vim setup.py 
sqlite_inc_paths = [ '/usr/include',
                                '/usr/include/sqlite',
                                '/usr/include/sqlite3',
                                '/usr/local/include',
                                '/usr/local/include/sqlite',
                                '/usr/local/include/sqlite3',
                                '/data/jupyter/sqlite3/include',
                                '/wks/python/ubuntu_sqlite3/include'
                                ]

./configure --prefix=/wks/python/py310 --with-openssl=/wks/python/ubuntu_ssl3 --enable-optimizations   --enable-loadable-sqlite-extensions >/tmp/a.log
make 
make install 
```

ln -s python3 python
ln -s pip3 pip

$ which python
/wks/python/py310/bin/python
$ which pip
/wks/python/py310/bin/pip

 

```
rm -rf /wks/python/py310
mkdir /wks/python/py310

cd /wks/python/soft/Python-3.10.9/
./configure --prefix=/wks/python/py310 --with-openssl=/wks/python/ubuntu_ssl3 --enable-optimizations   --enable-loadable-sqlite-extensions >/tmp/a.log
make 
make install 

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

```


 

  

 


 

  

 


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

    
安装最新版 ``` pip install torch torchvision torchaudio onnx onnxruntime -i https://pypi.tuna.tsinghua.edu.cn/simple pip install onnx onnxruntime skl2onnx -i https://pypi.tuna.tsinghua.edu.cn/simple ``` - 2.10 ``` pip install torch-scatter -f https://data.pyg.org/whl/torch-2.10.0+cpu.html pip install torch-sparse -f https://data.pyg.org/whl/torch-2.10.0+cpu.html pip install torch-geometric pip install torch-cluster -f https://data.pyg.org/whl/torch-2.10.0+cpu.html pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.10.0+cpu.html ``` - torch2.5 无大模型 ``` >>> import torch >>> torch.__version__ '2.5.1+cu124' 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 ``` - 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 pip install pyg-lib -f https://data.pyg.org/whl/torch-2.4.0+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 ``` ## 卸载 ``` pip uninstall torch-scatter torch-sparse torch-geometric torch-cluster torch-spline-conv pip uninstall torch torchvision torchaudio ``` ## 其他 ``` 目前torch-scatter在torch2.6.0版本上,不支持,因此回到2.5.1版,这就需要卸载现在的torch2.6.0 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 gensim -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install rank_bm25 -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 -m venv .venv

source .venv/bin/activate

deactivate

python -m venv /path/to/venv
rm -rf .venv

 
虚拟环境的独立性:
虚拟环境中安装的包不会影响系统 Python 环境,也不会被系统 Python 环境的包影响。
  
虚拟环境的存储位置:
虚拟环境通常存储在项目目录下,但也可以指定其他位置。例如:
python -m venv /path/to/venv
  

 

  

 
https://pytorch-geometric.readthedocs.io/en/latest/notes/installation.html

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
pip install pyg-lib -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
    

 

    
micromamba

下载micromamba

 
# Linux Intel (x86_64):
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

 
#配置环境变量 
mkdir /ai/app/micromamba
export MAMBA_ROOT_PREFIX=/ai/app/micromamba 
  
## 国内源 有国内源可以解决下载慢的问题。推荐使用**清华大学开源软件镜像站**(TUNA),同步频率高且稳定。 这里有**三种配置方法**,前两种方法用于临时加速,第三种方法是设置好之后永久生效的,最推荐。 ### ⚡️ 方法一:临时加速(单次命令) 最简单的方法,就是在安装命令中临时加上 `-c` 参数,直接指定清华源。只对当前这一次安装生效。 ```bash micromamba install build wheel -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge ``` ### 💡 方法二:环境变量(当前终端会话) 在当前终端窗口设置环境变量,这个窗口里的所有 `micromamba` 命令都会走国内源。关掉窗口就失效了。 ```bash export MAMBA_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/cloud/conda-forge/" ``` ### ✅ 方法三:永久配置(强烈推荐) 这是最彻底的解决办法。通过修改配置文件,让国内源永久生效。 1. **创建配置文件**:在终端执行以下命令,创建 `~/.mambarc` 文件并写入清华源的配置。 ```bash mkdir -p ~/.mamba cat > ~/.mambarc << "EOF" channels: - conda-forge - 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 msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud EOF ``` 2. **重新运行安装命令**:配置完成后,直接运行之前的安装命令,速度应该会快很多。 ```bash micromamba install build wheel ``` 如果速度还是不理想,或者遇到连接问题,也可以尝试把配置里的 `https` 改成 `http`。希望能帮你尽快解决这个问题~

 
https://github.com/mamba-org/mamba/releases

micromamba is a fully statically-linked, self-contained, executable. This means that the base environment is completely empty. The configuration for micromamba is slightly different, namely all environments and cache will be created by default under the MAMBA_ROOT_PREFIX environment variable. There is also no pre-configured .condarc/.mambarc shipped with micromamba (they are however still read if present).

micromamba 是一个完全静态链接、自包含的可执行文件。这意味着基础环境完全为空。micromamba 的配置略有不同,所有环境和缓存将默认在 MAMBA_ROOT_PREFIX 环境变量下创建。micromamba 本身没有预配置的 .condarc/.mambarc 文件(但如果存在,仍会读取)。
    
安装
https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html

 

# Linux Intel (x86_64):
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
    
xt@ii:~$ ll bin/micromamba
-rwxrwxr-x 1 xt xt 17017808 Jul 28 23:39 bin/micromamba*

If you want to quickly use micromamba in an ad-hoc usecase, you can run
mkdir /ai/app/micromamba
export MAMBA_ROOT_PREFIX=/ai/app/micromamba  # optional, defaults to ~/micromamba
eval "$(./bin/micromamba shell hook -s posix)

# Linux/bash:
./bin/micromamba shell init -s bash -r /ai/app/micromamba  # this writes to your .bashrc file
# sourcing the bashrc file incorporates the changes into the running session.
# better yet, restart your terminal!
source ~/.bashrc

其中下面这句话少了一个逗号,手工加上即可
eval "$(./bin/micromamba shell hook -s posix)"


 

 
vim .bash_profile
```
export MAMBA_EXE='/python/bin/micromamba';
export MAMBA_ROOT_PREFIX='/python/app/micromamba';
export PATH=/python/bin:$PATH
```

[python@localhost ~]$ which micromamba
/python/bin/micromamba

 
```
micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX
. ./.bash_profile
micromamba activate py310
```

 
micromamba create -n py369 python=3.6.9
micromamba activate py369

micromamba run -n pyai mycommand

进入base环境安装某个包
micromamba activate  # this activates the base environment
micromamba install python=3.6 jupyter -c conda-forge

micromamba env list
micromamba remove -n py310 --all

这里存在一个问题,remove环境后,env list依然能查到,可以进入envs目录手工删除相关目录 
cd /ai/app/micromamba/envs/
rm -rf py3*

 
创建新的环境
micromamba create --name env_name -c conda-forge 
micromamba activate env_name

(env_name) xt@ii:/ai/app/micromamba/envs$ cd /ai/app/micromamba/
(env_name) xt@ii:/ai/app/micromamba$ ls
conda-meta  envs  etc  pkgs

基础环境base就是原环境,新创建的环境env_name会在micromamba下的envs下开辟一个新目录做为虚拟环境使用 
(env_name) xt@ii:/ai/app/micromamba$ cd envs/
(env_name) xt@ii:/ai/app/micromamba/envs$ ls
env_name

(env_name) xt@ii:/ai/app/micromamba/envs$ cd env_name
(env_name) xt@ii:/ai/app/micromamba/envs/env_name$ ls
conda-meta  include  lib  share

 
查询软件依赖
$ mamba repoquery depends -t salmon

 
mamba

mamba 是使用C++ 对conda包管理器的重实现。

    使用多线程来并行下载仓库数据和包文件
    采用libsolv来更快的解决包依赖关联,这是Red Hat,Fedora和OpenSuse的RPM 包管理器中使用的先进的库
    mamba核心部分使用C++来获取最大效率

最重要的是mamba有着和conda一样的命令, 没啥学习成本就可以迁移到mamba。

The mamba-org 组织有多个Mamba 支持:

    mamba 基于Pyhton命令行实现,替换conda, 提供高速,更可靠的环境管理
    micromamba 纯C++实现,单个可执行文件
    libmamba 一个C++库,为mamba和micromamba提供低层级和高层级的API接口。
  
https://www.cnblogs.com/huanping/p/16861271.html

 

https://www.jb51.net/python/34445249f.htm

micromamba create --name py311 python=3.11 -c conda-forge 

micromamba activate py311

micromamba install  jupyter -c conda-forge

micromamba run -n py311 mycommand
    

 

(py311) xt@ii:~$ which jupyter
/ai/app/micromamba/envs/py311/bin/jupyter
(py311) xt@ii:~$

jupyter在py311环境下,但py311环境没有安装torch,于是它去默认的命令行环境找了torch 

(py311) xt@ii:~$ python
Python 3.11.13 | packaged by conda-forge | (main, Jun  4 2025, 14:48:23) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>>
>>>
>>> torch.__version__
'2.5.1+cu124'
>>> torch.__file__
'/wks/python/py1/lib/python3.11/site-packages/torch/__init__.py'

(py311) xt@ii:~$ which python
/ai/app/micromamba/envs/py311/bin/python

(py311) xt@ii:~$ micromamba deactivate

(base) xt@ii:~$ which python
/wks/python/py1/bin/python

 


纯机器学习环境

 
micromamba create -n pyml python=3.11
micromamba activate pyml

micromamba run -n pyml mycommand

深度学习环境·简易版:只有torch及图算法相关,无大模型

 
micromamba create -n pydl python=3.11
micromamba activate pydl
micromamba run -n pydl mycommand

 
micromamba install -c pytorch -c conda-forge pytorch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 
micromamba install -c pytorch -c pyg -c conda-forge pyg-lib torch-scatter torch-geometric

    

 
这两条命令的唯一区别就在于 软件包的下载来源(channel):
micromamba install jupyter
使用默认配置的 channel(通常是 defaults,即 Anaconda 官方源)来安装 Jupyter。
micromamba install jupyter -c conda-forge
明确指定使用 conda-forge 这个社区维护的 channel 来安装 Jupyter。

为什么会有区别?
defaults:由 Anaconda 官方维护,更新较慢,某些包可能不是最新版本,或者缺少某些构建。
conda-forge:由社区维护,更新更频繁,包版本更全,很多用户(包括官方文档)推荐使用它来安装 Jupyter 等科学计算工具。

举个例子:
如果你运行第一条命令,可能会得到一个稍旧版本的 Jupyter。
如果你运行第二条命令,通常会得到更新、更完整、兼容性更好的版本。


 
pip install 'polars[all]'
micromamba install -c conda-forge polars
Pandas交互	micromamba install -c conda-forge polars-pandas	与Pandas DataFrame互转
Excel支持	micromamba install -c conda-forge polars-excel	读写Excel文件
数据库连接	micromamba install -c conda-forge polars-database	连接数据库
PyArrow	micromamba install -c conda-forge polars-pyarrow	使用PyArrow后端
完整功能	micromamba install -c conda-forge polars-all	所有功能(体积较大)

micromamba install -c conda-forge request=2.83.1

micromamba install lightgbm xgboost statsmodels 

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

micromamba install pandas sklearn-pandas scikit-learn hmmlearn  matplotlib  pydotplus  openpyxl  pdfminer.six

micromamba install jupyter jupyter_contrib_nbextensions

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

micromamba install featuretools tsfresh mlxtend shap seaborn pyod copulas cx_Oracle pymysql==1.0.2 sqlalchemy 

micromamba install catboost 

报错时清除缓存 
micromamba clean --packages --tarballs
micromamba clean --packages
micromamba install request=2.83.1 -c conda-forge --force-reinstall
  
再不行,就删除这个损坏的目录
warning  libmamba Invalid package cache, file 'C:\micromamba\pkgs\request-2.83.1-0\lib\node_modules\request\CHANGELOG.mg
error    libmamba Cannot find a valid extracted directory cache for 'request-2.83.1-0.tar.bz2'

再不行,使用pip安装
pip install request==2.83.1

最后发现是包名写错了
pip install requests==2.83.1
pip install requests

 

  

 

  

 
micromamba create -n pyai python=3.11
micromamba activate pyai

micromamba activate pyai
micromamba run -n pyai mycommand

指定版本 
micromamba install -c pytorch -c conda-forge pytorch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 
micromamba install -c pytorch -c pyg -c conda-forge pyg-lib torch-scatter torch-geometric

micromamba install -c pytorch -c conda-forge transformers=4.44
micromamba install tokenizers triton

 
#查看版本
micromamba search -c pytorch -c conda-forge pytorch

#GPU
micromamba install -c pytorch -c conda-forge pytorch torchvision torchaudio transformers=4.44
micromamba install -c pytorch -c pyg -c conda-forge pyg-lib torch-scatter torch-geometric
micromamba install tokenizers triton

指定版本 
micromamba install -c pytorch -c conda-forge pytorch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 



#CPU 
micromamba install -c pytorch -c conda-forge pytorch-cpu torchvision-cpu torchaudio-cpu transformers=4.44
    
对于py3.11版本,需要使用pip安装下面的三个包
pip install torch-sparse -f https://data.pyg.org/whl/torch-2.7.1.html
pip install torch-cluster -f https://data.pyg.org/whl/torch-2.7.1.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-2.7.1.html

pip uninstall torch-sparse 
pip uninstall torch-cluster 
pip uninstall torch-spline-conv

失败的案例

 
以下方案为失败的方案
micromamba create -n py39 python=3.9
micromamba activate py39
micromamba install -c conda-forge pytorch torchvision torchaudio
micromamba install -c pytorch -c conda-forge pytorch torchvision torchaudio

仅下面这一行安装失败
micromamba install -c pyg torch-cluster torch-sparse torch-spline-conv torch-scatter torch-geometric
  

llm@ii:~$ pip list|grep torch
torch                                    2.4.0
torch_cluster                            1.6.3+pt24cu124
torch-geometric                          2.6.1
torch_scatter                            2.1.2+pt24cu124
torch_sparse                             0.6.18+pt24cu124
torch_spline_conv                        1.2.2+pt24cu124
torchaudio                               2.4.0
torchvision                              0.19.0

micromamba create -n py310 python=3.10
micromamba activate py310
micromamba install -c pytorch -c conda-forge pytorch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 

micromamba install -c pytorch -c pyg -c conda-forge torch_scatter==2.1.2 torch_cluster==1.6.3 torch_spline_conv==1.2.2 torch-geometric==2.6.1 torch_sparse==0.6.18

micromamba deactivate
micromamba env list
micromamba remove -n py39 --all

micromamba search -c pytorch -c conda-forg  pytorch_scatter

micromamba search -c pyg torch_scatter


micromamba create -n py313 python=3.13
micromamba activate py313

micromamba activate py313
micromamba run -n py313 mycommand

micromamba install -c pytorch -c conda-forge pytorch torchaudio torchvision

micromamba install -c pyg -c conda-forge torch_scatter torch_cluster torch_spline_conv torch-geometric torch_sparse

micromamba install -c pyg -c conda-forge torch-scatter
micromamba install -c pyg -c conda-forge torch-cluster

micromamba search -c pyg -c conda-forge  torch-cluster


 

    

 
前提:文件在其他环境安装好的 

授权并添加环境变量
chown -R xt:xt /ai/app
export PATH=/ai/app/bin:$PATH

本地用户设置 
export MAMBA_ROOT_PREFIX=/ai/app/micromamba


xt@kk:~$ which micromamba
/ai/app/bin/micromamba

eval "$(/ai/app/bin/micromamba shell hook -s bash)"

#将mamba信息初始化到环境变量中 
micromamba shell init -s bash -r /ai/app/micromamba 

source ~/.bashrc

 
#激活并进入环境
micromamba activate pyai 

下面的别名方式可行
alias pyai="micromamba activate pyai"

下面全路径方式的别名不可行
alias pyai="/ai/app/bin/micromamba activate pyai"

 
 
export MAMBA_ROOT_PREFIX=/ai/app/micromamba
export PATH=/ai/app/bin:$PATH
alias py311="micromamba activate py311"


 
- 使用 micromamba 按文件安装依赖的命令:
- micromamba env create -f environment.yml

- 如果你已经有一个环境,想更新它:
- micromamba env update -f environment.yml


environment.yml 示例格式:

 
```
name: myenv
channels:
  - conda-forge
dependencies:
  - python=3.10
  - numpy
  - pandas
  - pip
  - pip:
    - -r requirements.txt
```
-注意:
- 你可以在 environment.yml 中通过 pip: 子段落引用 requirements.txt,从而同时安装 Conda 和 Pip 包。

只有 requirements.txt

 
```
name: myenv
channels:
  - conda-forge
dependencies:
  - python=3.10
  - pip
  - pip:
    - -r requirements.txt
```
- micromamba env create -f environment.yml

 
```
micromamba env export > environment.yml

micromamba env create -f environment.yml
```

```
channels:
  - conda-forge
  - pytorch

```
是一个安装通道,但pytorch也是,
不过pytorch是pytorch的通道,未完全摆脱系统依赖,因为torch依赖的太多了


使用场景	命令	说明
导出当前环境	micromamba env export > environment.yml	这是最基础的导出命令。
仅导出显式指定的包	micromamba env export --explicit	这会列出环境中所有通过 micromamba install 等命令直接安装的包,但不包括它们的依赖项。
指定环境名称	micromamba env export -n your_env_name > environment.yml

 


 


 
centos7的证书旧时,需要先处理证书的问题 

sudo yum install -y ca-certificates openssl
sudo update-ca-trust force-enable
sudo update-ca-trust extract


# 临时生效
export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt
micromamba env create -f env_centos7.yml


echo 'export SSL_CERT_FILE=/etc/ssl/certs/ca-bundle.crt' >> ~/.bashrc

**安装说明**

 
- 找一个与线上机器同版本且环境一致的机器进行联网安装,安装完成后迁移到线上
- 若线上服务器可连网,则可直接在线上进行安装
- 安装过程会缓存下载的软件,因此安装的环境越多,对外部依赖就会越少
- micromamba是需要时下载,比如,gcc,cmake等软件若OS上没有就下载,有就优先使用已有

本地联网安装

 
生成micromamba软链接,自动判断Linux是x86_64还是ARM64
```
cd /python/bin/
./micromamba_setup.sh

export PATH=/python/bin:$PATH

$ which micromamba
/python/bin/micromamba
```

将mamba信息初始化到环境变量中
```
mkdir -p /python/app/micromamba
micromamba shell init -s bash -r /python/app/micromamba
```

依赖包下载

 
将wks移动到工作目录,比如/python

若已经存在安装过的环境,则先删除
```
cd /python/app/micromamba/envs/
rm -rf py310
```

进入项目目录,先下载软件
```
cd /python/wks/tousu/
micromamba create -n py310 -f environment.yml --download-only

cd /python/wks/tousu/
micromamba create -n py310 -f environment.yml --offline
```

使用pip补充安装部分Python包
```
micromamba activate py310

cd /python/app/wheelhouse
pip install --no-index --find-links=./ -r requirements.txt
```

如果缺少依赖包,则将缺失的依赖包补充到environment.yml文件,再次安装一次,已安装过的会自动跳过


添加python环境变量到PATH 
```
export PATH=/python/app/micromamba/envs/py310/bin:$PATH

$ which python
/python/app/micromamba/envs/py310/bin/python
```
  

 


 


 
安装windows SDK 
设置shell可以执行脚本

下载 
Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest -OutFile micromamba.tar.bz2
tar xf micromamba.tar.bz2 

配置环境变量后初始化环境

 
1. 注意cmd与powershell的初始化命令不同 
2. 注意初始化后要关闭执行窗口,打开新窗口执行micromamaba activate name 进行验证 

 
https://mamba.readthedocs.io/en/latest/installation/micromamba-installation.html
- Below are the commands to get micromamba installed in PowerShell.
```
Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest -OutFile micromamba.tar.bz2
tar xf micromamba.tar.bz2

MOVE -Force Library\bin\micromamba.exe micromamba.exe
.\micromamba.exe --help

# You can use e.g. $HOME\micromambaenv as your base prefix
$Env:MAMBA_ROOT_PREFIX="C:\Your\Root\Prefix"

# Invoke the hook
.\micromamba.exe shell hook -s powershell | Out-String | Invoke-Expression

# ... or initialize the shell
.\micromamba.exe shell init -s powershell -r C:\Your\Root\Prefix
# and use micromamba directly
micromamba create -f ./test/env_win.yaml -y
micromamba activate yourenv
```

  

操作记录

 


打开PowerShell
```
cd c:/
md micromamba
```
rsync -avP bin /mnt/c/micromamba/
```
PS C:\> cd .\micromamba\
PS C:\micromamba> ls


    目录: C:\micromamba


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        2025/12/23     10:53                bin
```

 

WIN+S env 
用户与系统都添加
MAMBA_ROOT_PREFIX=C:\micromamba
%MAMBA_ROOT_PREFIX%\bin

```
PS C:\Users\itora> micromamba.exe shell init -s powershell -r C:\micromamba
Init powershell profile at 'C:\Users\itora\Documents\WindowsPowerShell\profile.ps1'
The following has been added in your "C:\\Users\\itora\\Documents\\WindowsPowerShell\\profile.ps1" file

#region mamba initialize
# !! Contents within this block are managed by 'mamba shell init' !!
$Env:MAMBA_ROOT_PREFIX = "C:\micromamba"
$Env:MAMBA_EXE = "C:\micromamba\bin\micromamba.exe"
(& $Env:MAMBA_EXE 'shell' 'hook' -s 'powershell' -r $Env:MAMBA_ROOT_PREFIX) | Out-String | Invoke-Expression
#endregion

Windows long-path support already enabled. (Windows version = 10.0.26100)
PS C:\Users\itora>
```
xt@qisan:/python/wks/tousu$ rsync -avP environment* /mnt/c/micromamba/

cd C:\micromamba\
micromamba create -f environment_windows.yml -y
micromamba activate py310

(py310) PS C:\Users\itora> where.exe python
C:\micromamba\envs\py310\python.exe
C:\Users\itora\AppData\Local\Microsoft\WindowsApps\python.exe

将以下路径添加到path 
%MAMBA_ROOT_PREFIX%\envs\py310\envs\py310

 
mkdir -p /wks/python/micromamba/bin
cd /wks/python/micromamba

curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba

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

micromamba shell init -s bash -r /wks/python/micromamba

 

使用 micromamba 按文件安装依赖的命令:
micromamba env create -f environment.yml


如果你已经有一个环境,想更新它:
micromamba env update -f environment.yml

micromamba activate py312


(py312) xt@fine-bump-3:/ai/wks/aisql/chat2sql-develop$ which python
/wks/python/micromamba/envs/py312/bin/python

export PATH=/wks/python/micromamba/envs/py312/bin:$PATH 

 


sudo mkdir -p /wks/python/micromamba/bin sudo chown -R xt:xt /wks/ cd /wks/python/micromamba curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba rsync -e 'ssh -p26225' -avP xt@144.34.185.72:/wks/python/micromamba/bin/* /wks/python/micromamba/bin/ export PATH=/wks/python/micromamba/bin:$PATH micromamba shell init -s bash -r /wks/python/micromamba # 单纯地创建一个python3.12环境 micromamba create -n py12 python=3.12 micromamba run -n py12 mycommand ``` export PATH=/wks/python/micromamba/envs/py12/bin:$PATH micromamba activate py12 uv pip install build wheel micromamba env update -f environment.yml ```
## micromamba 安装 ``` sudo mkdir -p /wks/python/micromamba/bin sudo chown -R xt:xt /wks/ cd /wks/python/micromamba curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba rsync -e 'ssh -p26225' -avP xt@144.34.185.72:/wks/python/micromamba/bin/* /wks/python/micromamba/bin/ export PATH=/wks/python/micromamba/bin:$PATH micromamba shell init -s bash -r /wks/python/micromamba ``` ## python环境安装 ``` xt@fine-bump-3:~$ cd /wks/python/micromamba/envs/ xt@fine-bump-3:/wks/python/micromamba/envs$ ls py312 xt@fine-bump-3:/wks/python/micromamba/envs$ du -sh py312/ 9.0G py312/ ``` - py312占用过多空间 - 重新安装前,先清理部分空间 ``` rm -rf /ai/wks/alg/ ``` - 在已有micromama的基础上先新加环境,再删除旧环境 ``` # 单纯地创建一个python3.12环境 micromamba create -n py12 python=3.12 micromamba run -n py12 mycommand export PATH=/wks/python/micromamba/envs/py12/bin:$PATH micromamba activate py12 micromamba install uv uvicorn micromamba install -c conda-forge uvicorn which uv uv pip install build wheel ``` ## 项目环境 micromamba env update -f environment.yml 上一步准备了uv,也可以使用uv安装 ``` uv sync ``` ### 离线下载 ``` micromamba update -n py12 -f environment_ins.yml --download-only micromamba env export -n py12 > py12-lock.yml micromamba lock -n py12 micromamba lock -n py12 -f environment_ins.yml # 导出 explicit 格式的包列表(URL 列表) micromamba env export -n py12 --explicit > py12-explicit.txt (py12) xt@fine-bump-3:/wks/python/micromamba$ tar -zcvf mic_offline.tar.gz bin conf pkgs ``` ``` # 1. 下载所有包到缓存 micromamba update -n py12 -f environment_ins.yml --download-only # 2. 导出 explicit 格式 micromamba env export -n py12 --explicit > py12-explicit.txt # 3. 打包缓存目录和 explicit 文件 tar -czf offline_cache.tar.gz -C ~/micromamba pkgs/ ``` ``` # 激活环境后导出 micromamba activate py12 micromamba list --explicit > py12-explicit.txt ``` - 无网机器 ``` # 1. 解压缓存到根目录 tar -xzf offline_cache.tar.gz -C ~/micromamba/ # 2. 从 explicit 文件创建环境 micromamba create -n py12 --file py12-explicit.txt --offline --yes ``` ## 迁移安装 ``` mkdir mipy mv mic_offline.tar.gz mipy/ cd mipy/ tar -xvf mic_offline.tar.gz export PATH=/home/test/mipy/bin:$PATH which micromamba export MAMBA_ROOT_PREFIX=/home/test/mipy micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX cd . ./.bash_profile ``` ``` micromamba create -n py12 --file py12-explicit.txt --offline --yes ``` --offline:告诉 micromamba 只使用本地缓存,不联网 --yes:自动确认,避免交互式提示 ``` To activate this environment, use: micromamba activate py12 Or to execute a single command in this environment, use: micromamba run -n py12 mycommand ``` export PATH=/home/test/mipy/envs/py12/bin:$PATH

 


micromamba 安装
## micromamba 安装 - linux - 下载micromamba ``` sudo mkdir -p /wks/python/micromamba/bin sudo chown -R xt:xt /wks/ cd /wks/python/micromamba curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba rsync -e 'ssh -p26225' -avP xt@144.34.185.72:/wks/python/micromamba/bin/* /wks/python/micromamba/bin/ export PATH=/wks/python/micromamba/bin:$PATH ``` - 设置基目录 ``` micromamba shell init -s bash -r /wks/python/micromamba 或 export MAMBA_ROOT_PREFIX=/home/test/mipy micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX cd . ./.bash_profile ``` ## 迁移安装 - linux ### 全部打包 - 联网服务器上压缩 ``` (py12) xt@fine-bump-3:/wks/python$ du -sh micromamba/ 1.8G micromamba/ (py12) xt@fine-bump-3:/wks/python$ tar -zcvf mipy.tar.gz micromamba/ ``` - 无网服务器上解压 - 相当于没有使用micromamba,只是使用了之前编辑的python环境 ``` [tan@localhost ~]$ tar -xvf mipy.tar.gz export PATH=/home/tan/micromamba/envs/py12/bin:$PATH $ which uvicorn ~/micromamba/envs/py12/bin/uvicorn $ which python ~/micromamba/envs/py12/bin/python ``` ### 重编辑 ``` tar -xvf mipy.tar.gz export MAMBA_ROOT_PREFIX=/home/test/micromamba cd $MAMBA_ROOT_PREFIX ./bin/micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX cd . ./.bash_profile ``` - init 后,需要重新激活环境; ``` micromamba activate py12 ``` - 如果没有init,直接COPY过来无法使用虚拟环境
### 在线安装 - 使用 micromamba 按文件安装依赖的命令: - micromamba env create -f environment.yml - 如果你已经有一个环境,想更新它: - micromamba env update -f environment.yml ### 离线下载 - environment.yml - micromamba update -n py12 -f environment_ins.yml --download-only - 导出 explicit 格式的包列表(URL 列表) - micromamba env export -n py12 --explicit > py12-explicit.txt - 或者先进环境再导出 ``` micromamba activate py12 micromamba list --explicit > py12-explicit.txt ``` - 打包: tar -zcvf mipy.tar.gz bin conf pkgs - 重点是pkgs,pkgs下放的是包 - conf 下放的是environment.yml,py12-explicit.txt - bin下放的是micromamba - envs:可选,如果OS相同,可以直接打包解压使用,但要求目录必须一致 - 强调:使用envs必须目录一致,因为从pkgs到envs是编辑的固定目录 ### 离线安装 - 环境初始化,设置基目录,之后可以安装,可以激活使用环境 ``` export PATH=/wks/python/micromamba/bin:$PATH micromamba shell init -s bash -r /wks/python/micromamba 或 export MAMBA_ROOT_PREFIX=/wks/python/micromamba micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX cd . ./.bash_profile ``` - 按文件,从 explicit 文件创建环境 micromamba create -n py12 --file py12-explicit.txt --offline --yes - 安装单个包 ``` micromamba install -n 环境名称 包名 --offline --yes micromamba install -n py12 pandas --offline --yes micromamba install -n py12 pandas=1.5.3 --offline --yes ``` ### 注意事项 如果中间有增加包,则需要重新导出文件,打包 micromamba activate py12 micromamba env export -n py12 > environment.yml micromamba update -n py12 -f environment_ins.yml --download-only micromamba list --explicit > py12-explicit.txt - 打包,但排除envs tar -zcvf mipy.tar.gz --exclude='./micromamba/envs' ./micromamba/
**可以。** 你可以通过在包名后面添加 `=版本号` 来精确指定需要安装的版本。 ### 基础命令 ```bash micromamba install -n <环境名称> <包名>=<版本号> --offline --yes ``` ### 实战示例 假设你的本地 `pkgs/` 缓存中同时存在 `pandas-1.5.3` 和 `pandas-2.0.3` 两个版本,想要安装特定的 `1.5.3` 版本: ```bash micromamba install -n py12 pandas=1.5.3 --offline --yes ``` ### 更精确的指定方式 | 粒度 | 命令示例 | 说明 | | :--- | :--- | :--- | | **主版本** | `pandas=1` | 安装 `1.x.x` 系列中的最新版本。 | | **次要版本** | `pandas=1.5` | 安装 `1.5.x` 系列中的最新版本。 | | **精确版本** | `pandas=1.5.3` | 精确安装 `1.5.3` 这个版本。 | | **精确构建版本** | `pandas=1.5.3=h0e12345_0` | 极度精确,包含构建哈希值,可区分同一版本但不同构建配置的包。 | ### 如何查看本地有哪些可用版本? 在离线环境下,你需要事先知道缓存里有哪些版本。有两种方法: 1. **在有网时查询**:在能联网的机器上使用 `micromamba search pandas -c conda-forge` 可以查看所有历史版本,但这需要网络。 2. **直接查看缓存目录**:这是最可靠的离线方法。你可以直接浏览本地 `pkgs/` 目录下的文件。 ```bash # 查看缓存中 pandas 的所有版本 ls -d ~/micromamba/pkgs/pandas-* ``` 输出可能类似于: ``` /home/user/micromamba/pkgs/pandas-1.5.3-h123456_0/ /home/user/micromamba/pkgs/pandas-2.0.3-h789012_1/ /home/user/micromamba/pkgs/pandas-2.1.0-h345678_0/ ``` 从目录名中就能清晰地看到所有可用的精确版本号。 ### 依赖版本处理 需要特别注意的是,**指定单个包的版本可能会影响依赖包的解析**。 - **场景**:你强制安装一个旧版本的 `pandas=1.5.3`,但它需要的 `numpy` 版本是 `>=1.20`。 - **结果**:`micromamba` 会尝试从本地缓存中找一个符合 `numpy>=1.20` 要求的版本进行安装。如果缓存中只有 `numpy-1.19.x`,那么即使 `pandas=1.5.3` 本身存在,整个安装过程也会因为依赖无法满足而**失败**。 ### 总结 指定版本的核心语法就是 `包名=版本号`。这个版本号可以在离线前通过有网环境查询,或直接查看 `pkgs/` 目录名来获取。离线安装时,`micromamba` 会严格遵循你指定的版本,并从本地缓存中找到对应的包文件进行安装。
### pkgs路径处理 - 有时通过micromamba clean --all -y会发现micromamba会在home目录下建pkgs - 为了防止pkgs被分离到多个目录,进行以下设置 ``` # 创建配置文件 cat > ~/.mambarc << EOF pkgs_dirs: - /opt/micromamba/pkgs envs_dirs: - /opt/micromamba/envs EOF # 1. 设置环境变量 export CONDA_PKGS_DIRS=/opt/micromamba/pkgs export MAMBA_ROOT_PREFIX=/opt/micromamba # 2. 验证设置 echo $CONDA_PKGS_DIRS echo $MAMBA_ROOT_PREFIX ``` ### 环境验证 - 先安装,然后验证当前环境可以满足项目需求 ``` micromamba env update -f environment_ins.yml micromamba env update -f environment_ins.yml --download-only ``` (py12) test@fine-bump-3:/opt/micromamba$ tar -zcvf mipy.tar.gz ./* ### 环境导出 - 导出 explicit 格式的文件, - 虽然打开文件查看URL是联网的,但安装时是先走本地的 ``` export MAMBA_ROOT_PREFIX=/opt/micromamba ./bin/micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX micromamba activate py12 micromamba env export --explicit > py12-offline.txt ``` ### 离线安装 - 复用环境 ``` # adduser tan3 # mv /home/test/mipy.tar.gz ./ # chown -R tan3:tan3 /opt/micromamba/ export PATH=/opt/micromamba/envs/py12/bin:$PATH ``` - 安装环境 ``` export CONDA_PKGS_DIRS=/opt/micromamba/pkgs export MAMBA_ROOT_PREFIX=/opt/micromamba micromamba shell init --shell bash --root-prefix=$MAMBA_ROOT_PREFIX micromamba create -n py12 --file py12-offline.txt --offline --yes #可能 不全 micromamba create -n py12 -f environment.yml --offline --yes micromamba activate py12 ``` - update只对online环境生效 micromamba update -n py12 -f environment.yml --offline --yes
windows环境

脚本安装

 
- 想要在哪安装,就将bin目录copy到哪里,双击install.bat即可完成安装,安装完成后需要重启命令行窗口才能生效
- bin目录下有
  - install.bat:安装脚本
  - micromamba.exe:micromamba可执行文件
  - VC_redist.x64.exe:windows SDK相关组件安装文件
  - 该bin目录已经打包为micromamba_windows_bin.zip,上传到soft目录

 
```
任务:我要写一个自动配置init micromamba的初始化bat,名为install.bat 
1. install.bat的目录为D:\app\micromamba\bin;同目录有micromamba.exe命令,VC_redist.x64.exe软件
2. micromamba.exe所在目录D:\app\micromamba\bin不是固定是,而是任意的;但它所在目录的上一级会作为MAMBA_ROOT_PREFIX使用,这里micromamba.exe的当前目录为bin,上一级目录为D:\app\micromamba
3. install.bat的首先会检查当前windows是否安装windows SDK相关组件,即是否安装了当前目录下的VC_redist.x64.exe;如果没有安装则进行安装
4. 修改策略允许执行命令行(必须):Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
5. 设置MAMBA_ROOT_PREFIX为当前目录的上一级目录,这里是D:\app\micromamba,然后执行micromamba.exe shell init -s cmd.exe -r D:\app\micromamba初始化micromamba环境变量
6. 执行micromamba.exe shell init前发现已经执行过了的时候,则覆盖上次的初始化环境变量,因为可能会更换目录
```
    

 

    

 
如果需要,则可以安装windows SDK相关组件,安装C++相关,安装windows SDK
winget install Microsoft.VCRedist.2015+.x64 --accept-source-agreements --accept-package-agreements
或直接下载 VC_redist.x64.exe安装
再次强调:不管是pytorch,uv,还是micromamba,如果安装过程中遇到异常,首先要考虑是否缺少windows SDK相关组件,安装后重试即可


d:
cd app 
md micromamba 
Invoke-Webrequest -URI https://micro.mamba.pm/api/micromamba/win-64/latest -OutFile micromamba.tar.bz2

解压,添加path环境变量,
D:\app\micromamba\Library\bin

修改策略允许执行命令行(必须)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

或者以管理员身份运行PowerShell,执行下面的命令,允许执行命令行
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
# 创建配置文件目录(如果不存在)
New-Item -ItemType Directory -Force -Path (Split-Path $PROFILE)
# 创建空配置文件
New-Item -ItemType File -Path $PROFILE -Force

PS C:\Users\itoracle_17068343192> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
PS C:\Users\itoracle_17068343192> Test-Path $PROFILE
True

重启窗口

下面的二选一,
micromamba.exe shell init -s powershell -r D:\app\micromamba
micromamba.exe shell init -s cmd.exe -r D:\app\micromamba
micromamba --version

```
> micromamba.exe shell init -s powershell -r D:\app\micromamba
Init powershell profile at 'C:\Users\itoracle_17068343192\Documents\WindowsPowerShell\profile.ps1'

Windows long-path support enabled.

关闭当前窗口,打开新窗口或者重启电脑 

PS D:\wks> micromamba --version
2.5.0
```

 
micromamba.exe  create -n py312 python=3.12 -c conda-forge
micromamba.exe  activate py312

micromamba install -c pytorch -c conda-forge pytorch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0
micromamba install -c pytorch -c pyg -c conda-forge pyg-lib torch-scatter torch-geometric

 


 
创建python3.12版本的虚拟环境;如果不指定python版本,则默认使用全局的python版本
Remove-Item -Recurse -Force .venv; uv venv --python 3.12 .venv

uv add torch torchaudio  torchvision  transformers -i https://pypi.tuna.tsinghua.edu.cn/simple

指定版本安装
uv add torch==2.4.0 torchaudio==2.4.0 torchvision==0.19.0 transformers==4.44.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

卸载已有的torch等相关包,重新安装
& .\.venv\Scripts\Activate.ps1; pip uninstall -y torch torchaudio torchvision; pip install torch torchaudio torchvision --index-url https://pypi.org/simple/

 
如果需要,则可以安装windows SDK相关组件,安装C++相关,安装windows SDK
winget install Microsoft.VCRedist.2015+.x64 --accept-source-agreements --accept-package-agreements
或直接下载 VC_redist.x64.exe安装
再次强调:不管是pytorch,uv,还是micromamba,如果安装过程中遇到异常,首先要考虑是否缺少windows SDK相关组件,安装后重试即可

    

 

    

 


 


 


 


 


 


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

 

    

 

    

 


 

  

 


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

 


 
root@xuetu:/# du -sh wks/
57G     wks/

root@xuetu:/# tar -zcvf wks_wsl.tar.gz /wks/

xt@xuetu:~$ ./dps.sh
CONTAINER ID   IMAGE     NAMES     COMMAND   STATUS
fc59b8317e80   aml:1.5   ml        "bash"    Exited (255) 10 days ago
f8f8032ccd3f   xt:1.1    uu        "bash"    Up 23 minutes

xt@xuetu:~$ sudo docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
xt           1.1       30831d548c2a   12 days ago    13.4GB
aml          1.5       921082d9c13d   12 days ago    38.9GB
ubuntu       24.04     a04dc4851cbc   2 months ago   78.1MB

docker commit -m "reinstall" -a "73biji" f8f8032ccd3f xt:1.2 

root@xuetu:~# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
xt           1.2       71f28b9d41d1   13 seconds ago   76.3GB
xt           1.1       30831d548c2a   12 days ago      13.4GB
aml          1.5       921082d9c13d   12 days ago      38.9GB
ubuntu       24.04     a04dc4851cbc   2 months ago     78.1MB

docker run -itd --privileged --name ii -h ii  --gpus all --net host -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.2  bash

xt@xuetu:~$ ./dps.sh
CONTAINER ID   IMAGE     NAMES     COMMAND   STATUS
c4d472811a2f   xt:1.2    ii        "bash"    Up 15 seconds
fc59b8317e80   aml:1.5   ml        "bash"    Exited (255) 10 days ago
f8f8032ccd3f   xt:1.1    uu        "bash"    Up 53 minutes

docker exec -it ii bash


  

 


root@ii:/opt/wks/web73# ./web73 -addr=localhost:33033
addr:localhost:33033,upload dir:/tmp
    

 

    
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环境变量

 
sudo docker start uu;sudo docker exec -it uu service ssh start;
sudo docker start ii;sudo docker exec -it ii service ssh start;

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 ml1="sudo docker start ml"
alias ml2="sudo docker stop ml"
alias ml="sudo docker exec -it ml su - aml"

alias uu1="sudo docker start uu"
alias uu2="sudo docker stop uu"
alias uu="sudo docker exec -it uu bash"
alias py1="sudo docker exec -it uu su - py1"
alias ds="sudo docker exec -it uu su - deepseek"

alias ii="docker exec -it ii bash"
alias xt="sudo docker exec -it ii su - xt"

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

  
    

 

    

 

    

注意事项

 
这里是在WSL中创建docker, docker中通常保存的是安装软件,
为了避免docker过于庞大而不方便保存,可以参考以下方案
- 静态大文件,比如数据文件,大模型的参数文件,保存在磁盘上,要求外挂磁盘速度快且稳定
- 静态安装类型文件,与前面的区别在于该安装文件之间会存在软链接,存放于WSL系统中,挂载于docker
- docker主要创建用户,配置环境变量,保存安装过程中默认在于home目录下的一些缓存等


本次不安装下面的desktop
https://www.docker.com/products/docker-desktop/
  

容器创建

 
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

docker run -itd --privileged --name uu -h uu  --gpus all --net host -v /wks:/wks -v /opt:/opt  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all xt:1.2  bash


docker run -itd --privileged --name ii -h ii  --gpus all --net host -v /wks:/wks  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubase:1.0  bash


docker run -itd --privileged --name git -h git  --gpus all --net host -v /wks:/wks  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubase:1.0  bash
docker exec -it git 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 " "
    

依赖包安装

 
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

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

简易配置

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

chown -R xt:xt /opt/
  
  

SSH

 
docker以host的方式与主机共享了IP,那么SSH就需要修改端口
root@ii:/# vim /etc/ssh/sshd_config
#Port 22
Port 22002
PermitRootLogin prohibit-password
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 
  

执行以下命令启动并设置开机自启:
service ssh start
systemctl enable ssh
  

容器保存

 
到这里只是安装了一些基础的依赖包以及开启SSH,相当于基础环境版 

docker commit -m "ubuntu base env" -a "73biji" 52952cbd103e ubase:1.0 
docker save -o  ubase1.0.tar   ubase:1.0 

  

 
ssh -p 22002 xt@localhost 


windows上安装一个git,进入git bash
ssh-keygen -t rsa

ssh-keygen -t rsa
xt@ii:~$ cd /mnt/c/Users/itora/
cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys


Host xt
  HostName localhost
  Port 22002
  User xt
  IdentityFile "C:\Users\itora\.ssh\id_rsa"

git

 
ssh-keygen -t rsa
cd /mnt/c/Users/itora/
cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys

mkdir web73.git
cd web73.git
git init --bare

ssh -p22003 git@192.168.1.2

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

cd /tmp/
git clone ssh://git@192.168.1.2:22003/~/web73.git
git clone ssh://git@localhost:22003/~/web73.git


git bash中操作

 
itora@qisanxuetu MINGW64 /
$ cd /g
$ cd wks/web73/
$ git init
Reinitialized existing Git repository in G:/wks/web73/.git/

git config --global --add safe.directory G:/wks/web73
git add . 
git commit -m "2025-04-07 init"

git remote add web73 ssh://git@localhost:22003/~/web73.git
git push -u web73 master

cd /g/wks/web73/
git push web73 master


需要解压提交一次,平时不用git 
tar -zcvf git.tar.gz .git
rm -rf .git/

 
vim ~/.ssh/config
Host 192.168.1.2
  Port 22003
  User git
  IdentityFile ~/.ssh/your_private_key

git clone git@192.168.1.2:~/web73.git
  

 

  

同步配置

 
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启动

 

echo "#!/bin/bash
cd /wks/web73
./web73 -addr=0.0.0.0:33033
" > ./web73.sh
chmod +x web73.sh
    

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/

 

    

WSL配置Mirrored 模式

 
xt@xuetu:/mnt/c/Users/itora$ cat .wslconfig
[experimental]
networkingMode=mirrored
autoProxy=true
hostAddressLoopback=true

 

  

 

  

xt:ollama安装

 
root@ii:/wks/python# chown -R xt:xt ollama_offline/
root@ii:/wks/python# chown -R xt:xt ollama_offline/

cd /mnt/g/kecheng/七三AI-01-env_install/docker/soft
tar -xvf ollama-linux-amd64.tgz -C /wks/python/ollama_offline/

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

which ollama
/wks/python/ollama_offline/bin/ollama

 
ollama serve

ollama -v
ollama version is 0.6.2

vim Modelfile_14B_Q8
from /wks/models/deepseek/DeepSeek-R1-Distill-Qwen-14B-GGUF/DeepSeek-R1-Distill-Qwen-14B-Q8_0.gguf 

mkdir /wks/bigmodels/ollama
chown -R xt:xt /wks/bigmodels/ollama

export OLLAMA_MODELS=/wks/bigmodel/ollama
- 需要重启ollama

nohup ollama serve > /tmp/ollama.log 2>&1 &

ollama create DeepSeek-14B-Q8 -f Modelfile_14B_Q8
- 优先OLLAMA_MODELS
- ~/.ollama/models

xt@ii:~$ ollama list
NAME                      ID              SIZE     MODIFIED
DeepSeek-14B-Q8:latest    4d3466debbb4    15 GB    59 seconds ago

xt@ii:~$ cd /wks/bigmodels/ollama/
xt@ii:/wks/bigmodels/ollama$ du -sh *
15G     blobs
20K     manifests

 


 


 


OS·重新安装·202505

文件备份

 
cd /
tar -zcvf wks.tar.gz wks 
  

docker备份

 
docker images
docker ps -a

#aml新环境
docker commit -m "202505" -a "73biji" ml ctos7:1.2 
cd /mnt/g/bak/202505/
docker save -o ml.tar ctos7:1.2

docker commit -m "202505" -a "73biji" git ubgit:1.0  
cd /mnt/g/bak/202505/
docker save -o git.tar ubgit:1.0  

docker commit -m "202505" -a "73biji" ii dev:1.0  
cd /mnt/g/bak/202505/
docker save -o dev.tar dev:1.0   


docker commit -m "202505" -a "73biji" uu dev_bak:1.0  
cd /mnt/g/bak/202505/
docker save -o uu_bak.tar dev_bak:1.0   
    

 

    

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 ml1="sudo docker start ml;sudo docker exec -it ml systemctl start sshd"
alias ml2="sudo docker stop ml"
alias ml="sudo docker exec -it ml bash"
alias aml="sudo docker exec -it ml su - ai-aml"

alias uu1="sudo docker start uu"
alias uu2="sudo docker stop uu"
alias uu="sudo docker exec -it uu bash"
alias ii="sudo docker exec -it ii bash"
alias xt="sudo docker exec -it ii su - xt"
alias llm="sudo docker exec -it ii su - llm"
alias py1="sudo docker exec -it uu su - py1"
alias ds="sudo docker exec -it uu su - deepseek"


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



export SSL_CERT_DIR=/etc/ssl/certs

    

 

    

 

    

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

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

 
echo "#!/bin/bash
cd /wks/web73
./web73 -addr=0.0.0.0:33033
" > ./web73.sh
chmod +x web73.sh

  

docker

 
cd /mnt/g/bak/202505
docker load -i dev.tar

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

docker run -itd --privileged --name uu -h uu  --gpus all --net host -v /wks:/wks -v /opt:/opt  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all xt:1.2  bash

docker run -itd --privileged --name ii -h ii  --gpus all --net host -v /wks:/wks  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all dev:1.0  bash

docker run -itd --privileged --name git -h git  --gpus all --net host -v /wks:/wks  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all ubase:1.0  bash
docker exec -it git bash



SSH

  
docker使用的是主机共享模型,就需要为SSH配置不同的端口
root@ii:/# vim /etc/ssh/sshd_config
#Port 22
Port 22002
PermitRootLogin prohibit-password
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2 

执行以下命令启动并设置开机自启:
service ssh start
systemctl enable ssh

ssh-keygen -t rsa
cd /mnt/c/Users/itora/
cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys

可直接在git上执行 
ssh -p 22002 xt@localhost 

Host xt
  HostName localhost
  Port 22002
  User xt
  IdentityFile "C:\Users\itora\.ssh\id_rsa"
  

git

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

 

  

 

  
------------------------------------------------------------------------ 

 

  

 


docker·汇总记录

llm

 

  

docker run -itd --privileged --name ii -h ii  --gpus all --net host -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.2  bash

docker run -itd --privileged --name ii -h ii  --gpus all --net host -v /wks:/wks  -v /media:/media -v /mnt:/mnt -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all dev:1.0  bash

docker run -itd --privileged --name ii -h ii --net=host  --gpus all -v /ai:/ai -v /opt:/opt  -v /wks:/wks -v /data:/data -v /G/soft:/opt/soft  -v /mnt:/mnt  -v /media:/media  -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all dev:2.0  bash

docker exec -it ii bash

ml:centos7

 
docker run -itd --privileged --name ml -h ml --net=host -v /wks:/wks -v /ai:/ai  -v /mnt:/mnt  -v /media:/media  cent7:latest  bash
    
docker run -itd --privileged --name ctos -h ctos --net=host -v /wks:/wks -v /ai:/ai -v /python:/python  -v /mnt:/mnt  -v /media:/media  cent7:latest  bash
docker exec -it ctos bash 

 
docker commit -m "micromamaba test" -a "73biji" 5a9bd316173f cent:v1
docker save -o centv1_20251231.tar cent:v1
docker load -i centv1_20251231.tar

docker run -itd --privileged --name ctos -h ctos --net=host -v /wks:/wks -v /ai:/ai -v /python:/python  -v /mnt:/mnt  -v /media:/media  cent:v1  bash
docker exec -it ctos bash 


 


    

 


    

 
docker run -itd --privileged --platform linux/arm64/v8 --name arm -h arm --net=host -v /opt:/opt -v /wks:/wks -v /ai:/ai  -v /mnt:/mnt  -v /media:/media  python:3.11  bash
    
sudo docker exec -it arm bash
    

POC

 
- ubntu18 python3.6.9
- 纯机器学习环境 

```
docker run -itd --privileged --name u18 -h u18 --net=host -v /wks:/wks -v /ai:/ai  -v /ai:/ai -v /opt:/opt  -v /wks:/wks -v /data:/data -v /mnt/d/soft:/opt/soft -v /mnt:/mnt  -v /media:/media  ubuntu:18.04  bash

```

```
adduser py369
mkdir /ai/app/py369
mkdir /ai/wks/soft

tar -xvf sqlite-snapshot-202212231449.tar.gz
cd sqlite-snapshot-202212231449/
mkdir /ai/app/sqlite202212

./configure -prefix=/ai/app/sqlite202212
make
make install

```

- 该方案有些复杂,直接使用现有mamba环境创建3.6.9环境

python环境

 

```

```

```
micromamba create -n py369 python=3.6.9
micromamba activate py369
micromamba run -n py369 mycommand

pip install dataclasses
micromamba install lightgbm xgboost statsmodels 
micromamba install pandas sklearn-pandas scikit-learn  matplotlib  pydotplus
micromamba install jupyter jupyter_contrib_nbextensions
micromamba install catboost

micromamba install "xgboost < 1.6" -c conda-forge

```
  

 

  

 

  

 

  

 

  
| 镜像标签 | 操作系统 | Python版本 | CUDA版本 | PyTorch版本 | 发布时间 | | ---------------------------------- | ---------------- | -------- | -------- | --------- | ---------- | | `nvcr.io/nvidia/pytorch:25.08-py3` | **Ubuntu 24.04** | 3.12.2 | 13.0.48 | 2.8.0 | 2025-08-19 | | `nvcr.io/nvidia/pytorch:24.12-py3` | **Ubuntu 24.04** | 3.12 | 12.6.2 | 2.6.0 | 2024-12-20 | | `nvcr.io/nvidia/pytorch:24.05-py3` | Ubuntu 22.04 | 3.10.12 | 12.4.131 | 2.4.0 | 2024-05-25 | | `nvcr.io/nvidia/pytorch:24.04-py3` | Ubuntu 22.04 | 3.10 | 12.4 | 2.3 | 2024-04 | | `nvcr.io/nvidia/pytorch:23.10-py3` | Ubuntu 22.04 | - | - | - | 2023-10 |

 


docker run -itd --privileged --name gpu -h gpu --net=host --gpus all -v /wks:/wks -v /ai:/ai  -v /opt:/opt  -v /data:/data -v /mnt:/mnt  -v /media:/media    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all nvcr.io/nvidia/pytorch:23.10-py3   bash

docker run -itd --privileged --name gpu -h gpu --net=host --gpus all -v /wks:/wks -v /ai:/ai  -v /opt:/opt  -v /data:/data -v /mnt:/mnt  -v /media:/media    -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all  nvcr.io/nvidia/pytorch:24.12-py3 bash 

docker run -itd --privileged --name u24 -h u24 --net=host --gpus all -v /wks:/wks -v /ai:/ai  -v /opt:/opt  -v /data:/data -v /mnt:/mnt  -v /media:/media  ubuntu:24.04  bash
docker exec -it u24 bash

 


git

 

## git拉取记录
```
git init
git remote add origin http://10.14.128.2:8888/ai/bank-complaint-classifier.git

git pull origin dev
```

```

# 1. 保存当前更改
git stash

# 2. 拉取远程更新
git reset
git pull --rebase origin main

# 3. 恢复本地更改
git stash pop

# 4. 如果有冲突,解决冲突
git add .
git rebase --continue

# 5. 推送
git commit -m "tousu v1"
git push -u origin main
```


## git提交记录

```
git add .
git commit -m "tousu v1"

# 现在创建dev分支
git checkout -b dev
git push -u origin dev  # 第一次
```
```
git add .
git commit -m "tousu v1"
git push                 # 后续

```


```
-u  --set-upstream
把本次推送的远程分支(origin/dev)登记为本地分支 dev 的“上游”。
登记后,今后在该分支上直接敲 git push / git pull 就不必再写 origin dev。

-f  --force
强制推送,即用本地版本覆盖远程同名分支,不管远程是否比本地新。
会丢弃远程那端可能存在的提交,危险操作,多人协作时慎用。
```

    

 

    

 


 


 


 


 


 


参考