CentOS环境下Python资源共享的常见方法
利用Python内置的http.server模块,可快速搭建简易HTTP服务器,实现Python脚本、模块或文档的共享。操作步骤如下:
.py文件的/home/user/python_scripts);python -m http.server 8000(默认端口8000,可通过-p参数修改,如python -m http.server 8080);http://<CentOS服务器IP>:8000,即可查看或下载目录中的Python资源。NFS允许CentOS服务器将本地目录共享给同一网络中的其他Linux设备,实现Python代码、依赖库或项目的集中存储与访问。操作步骤如下:
sudo yum install -y rpcbind nfs-utils;sudo systemctl start rpcbind && sudo systemctl enable rpcbind、sudo systemctl start nfs-server && sudo systemctl enable nfs-server;/etc/exports文件,添加共享路径及权限(如/home/user/python_shared 192.168.1.0/24(rw,sync,no_root_squash),其中192.168.1.0/24为客户端网段,rw表示读写权限);sudo exportfs -ra。sudo yum install -y nfs-utils;sudo mkdir -p /mnt/python_shared;sudo mount -t nfs <CentOS服务器IP>:/home/user/python_shared /mnt/python_shared;/etc/fstab文件,添加<CentOS服务器IP>:/home/user/python_shared /mnt/python_shared nfs defaults 0 0。虚拟环境可隔离不同项目的Python依赖,避免版本冲突,同时便于将项目及依赖打包共享。常用工具包括venv(Python内置)和pyenv(第三方多版本管理)。
python3 -m venv /path/to/myenv(如/home/user/myproject_env);source /path/to/myenv/bin/activate;pip install -r requirements.txt(将项目所需依赖写入requirements.txt文件);myproject_env)复制到共享位置(如NFS共享目录或U盘),其他用户复制后激活即可使用相同依赖。curl https://pyenv.run | bash,并配置环境变量(添加到~/.bashrc:export PATH="$HOME/.pyenv/bin:$PATH"、eval "$(pyenv init --path)"、eval "$(pyenv init -)");pyenv install 3.9.9;pyenv virtualenv 3.9.9 myenv;~/.pyenv/versions/myenv)复制到共享位置,其他用户通过pyenv activate myenv激活。venv生成的目录可直接复制,但pyenv虚拟环境需确保目标系统安装相同Python版本。若需要共享自定义Python包(如公司内部工具库),可搭建私有pip仓库(如devpi或pypiserver),让团队成员通过pip安装。
pip install pypiserver;mkdir -p /var/www/pypi;pypi-server -p 8080 /var/www/pypi(默认端口8080);twine工具将包上传至私有仓库(twine upload --repository-url http://<CentOS服务器IP>:8080 *)。pip.conf(或~/.pip/pip.conf)中添加私有仓库地址:[global] index-url = http://<CentOS服务器IP>:8080/simple/,之后通过pip install <包名>即可从私有仓库安装。pypiserver的--authenticator参数)。chmod -R 755 /path/to/shared),避免权限过高导致安全问题。