一、在pycham中能够直接运行项目结构如下
二、将需要运行的py文件复制到项目根目录下
三、在项目根目录下新建setup.py文件,内容如下
from distutils.core import setup setup( name='alicoud_check_ecs_validity', version='1.0', author='xxxxxx', author_email='xxxxx@xxxxx.cn', maintainer='xxxxxx', maintainer_email='xxxxxx@xxxxx.cn', url='www.xxxxx.com', packages=['','datas','action','config','page','utils'] )
四、在pycham项目里的terminal里切换到项目目录下,并执行pip3 freeze > requirements.txt命令
将项目的依赖包列表写入requirements.txt文件
五、编辑requirements.txt文件,保留项目需要的外部依赖包即可
六、执行打包命令python3 setup.py sdist
执行上面的命令将项目打包成tar包,存放到dist目录里
打包完毕后,查看dist目录可以看到生成的tar文件
七、将tar文件上传到目标linux指定目录下
[root@localhost home]# mkdir autopy [root@localhost home]# cd autopy/ [root@localhost autopy]# ll 总用量 24 -rw-r--r--. 1 root root 21166 6月 21 10:24 alicoud_check_ecs_validity-1.0.tar.gz [root@localhost autopy]#
八、解压项目打包文件
[root@localhost autopy]# tar -zxvf alicoud_check_ecs_validity-1.0.tar.gz [root@localhost autopy]# cd alicoud_check_ecs_validity-1.0 [root@localhost alicoud_check_ecs_validity-1.0]# ll 总用量 32 drwxrwxrwx. 2 root root 46 6月 21 10:24 action -rw-rw-rw-. 1 root root 16452 6月 18 10:05 CheckECSValidity.py drwxrwxrwx. 2 root root 42 6月 21 10:24 config drwxrwxrwx. 2 root root 52 6月 21 10:24 page -rw-rw-rw-. 1 root root 225 6月 21 10:24 PKG-INFO -rw-rw-rw-. 1 root root 323 6月 18 16:02 setup.py drwxrwxrwx. 2 root root 4096 6月 21 10:24 utils [root@localhost alicoud_check_ecs_validity-1.0]#
可以看到setup.py里通过packages=[' ','datas','action','config','page','utils']指定的依赖目录都添加到项目里了
九、将项目依赖配置文件requirements.txt复制到项目解压目录中
[root@localhost alicoud_check_ecs_validity-1.0]# ll 总用量 36 drwxrwxrwx. 2 root root 46 6月 21 10:24 action -rw-rw-rw-. 1 root root 16452 6月 18 10:05 CheckECSValidity.py drwxrwxrwx. 2 root root 42 6月 21 10:24 config drwxrwxrwx. 2 root root 52 6月 21 10:24 page -rw-rw-rw-. 1 root root 225 6月 21 10:24 PKG-INFO -rw-r--r--. 1 root root 103 6月 21 10:39 requirements.txt -rw-rw-rw-. 1 root root 323 6月 18 16:02 setup.py drwxrwxrwx. 2 root root 4096 6月 21 10:24 utils [root@localhost alicoud_check_ecs_validity-1.0]#
十、执行pip3 install -r requirements.txt命令,安装项目依赖包
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 install -r requirements.txt
十一、查看安装的依赖包
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 freeze allure-pytest==2.8.40 allure-python-commons==2.8.40 attrs==21.2.0 et-xmlfile==1.1.0 importlib-metadata==4.5.0 iniconfig==1.1.1 lxml==4.5.1 openpyxl==3.0.7 packaging==20.9 pluggy==0.13.1 py==1.10.0 PyMouse==1.0 pyparsing==2.4.7 pytest==6.2.3 selenium==3.141.0 six==1.16.0 toml==0.10.2 typing-extensions==3.10.0.0 urllib3==1.26.5 zipp==3.4.1 [root@localhost alicoud_check_ecs_validity-1.0]#
十二、执行入口文件
[root@localhost alicoud_check_ecs_validity-1.0]# python3 CheckECSValidity.py
十三、目标linux或者windows无法连接外网时,可以使用pip3 download -d packages -r requirements.txt命令,将依赖包下载到packages目录里
十四、将packages目录一并上传到目标linux项目目录中
十五、通过pip3 install命令指定packages目录依赖包进行本地安装
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 install --find-links=packages/ -r requirements.txt
十六、pip的基本使用
1、查看安装的依赖包列表
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 freeze allure-pytest==2.8.40 allure-python-commons==2.8.40 attrs==21.2.0 et-xmlfile==1.1.0 importlib-metadata==4.5.0 iniconfig==1.1.1 lxml==4.5.1 openpyxl==3.0.7 packaging==20.9 pluggy==0.13.1 py==1.10.0 PyMouse==1.0 pyparsing==2.4.7 pytest==6.2.3 selenium==3.141.0 six==1.16.0 toml==0.10.2 typing-extensions==3.10.0.0 urllib3==1.26.5 zipp==3.4.1 [root@localhost alicoud_check_ecs_validity-1.0]#
2、安装依赖包,默认安装到python3安装目录下的lib\python3.7\site-packages\目录下
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 install pytest
3、卸载依赖包
[root@localhost site-packages]# pip3 uninstall -y pytest
4、升级pip
pip3 install --upgrade pip
5、离线安装whl依赖安装包
[root@localhost alicoud_check_ecs_validity-1.0]# pip3 install whell packages/pytest-6.2.3-py3-none-any.whl