Ubuntu下Python资源共享的常用方法
requirements.txt同步依赖环境这是最常用的跨机器/跨用户共享Python依赖的方式,适用于团队协作或项目迁移。
pip freeze > requirements.txt,生成包含所有依赖包及版本的文件。requirements.txt传输到目标机器。python3 -m venv myenv+source myenv/bin/activate),运行pip install -r requirements.txt即可安装所有依赖。若需完全复用虚拟环境(包括已安装的包和配置),可直接共享虚拟环境目录,但需注意跨平台兼容性(如Windows与Ubuntu的库文件格式不同,易出错)。
myenv/)通过共享文件夹(VirtualBox/VMware的共享文件夹功能)或网络存储(如NFS)共享到目标机器。~/.bashrc中添加export PATH="/path/to/shared/myenv/bin:$PATH",使系统优先识别共享环境中的Python和pip。容器技术可封装Python环境及依赖,确保在不同系统(Ubuntu、Windows、macOS)上运行一致,适合复杂项目或生产环境。
Dockerfile,基于官方Python镜像(如python:3.9-slim),复制项目文件并安装依赖(示例:COPY requirements.txt .+RUN pip install -r requirements.txt)。docker build -t my-python-app .构建镜像,使用docker run -it my-python-app python运行项目,无需担心环境差异。若需将Python代码作为库共享给其他开发者,可将其打包并上传至PyPI(Python Package Index),其他用户可通过pip直接安装。
my_package/__init__.py+setup.py+README.md),其中setup.py需包含项目名称、版本、依赖等信息(示例:install_requires=['numpy>=1.18.0'])。python3 setup.py sdist bdist_wheel生成Wheel包,使用twine upload dist/*上传至PyPI,其他用户通过pip install my-package安装。若需在局域网内共享Python代码或依赖,可通过Samba服务将Ubuntu目录共享给其他设备(如Windows、Mac)。
sudo apt install samba安装Samba,编辑/etc/samba/smb.conf文件,添加共享配置(如[myshare]段,设置path、read only=no等参数)。sudo service smbd restart启动Samba服务,其他设备通过\\ubuntu_ip\myshare访问共享目录(需输入Ubuntu用户密码)。numpy),纯Python库更易兼容。requirements.txt或Docker,减少“在我机器上能运行”的问题。chmod 775 /path/to/share),确保用户可访问。