学习python setup.py


from setuptools import find_packages, setup

python setup.py --help

python setup.py --help-commands

python setup.py build --help
python setup.py install --help
python setup.py develop --help

python setup.py build和python setup.py install

python setup.py install包括两步:python setup.py build, python setup.py install,这两步,可分开执行, 也可只执行python setup.py install, 因为python setup.py install总是会先build后install. 

python setup.py build 是python编译这个module的过程, 这个过程比较复杂,最后会生成build文件夹。除去build过程后的install过程,就是复制build/lib文件到用户指定的lib库。

python setup.py install和python setup.py develop

https://blog.csdn.net/yywan1314520/article/details/50457835

1.在安装某个库或包时,发现可以python setup.py install 和python setup.py develop两种方式来安装,这两种方法有什么不同?一直困扰着我,下面我们就来讨论下这个简单的问题
2.python setup.py install:主要是安装典型第三方包,这种包比较稳定,不再需要你去编辑、修改或是调试。
3.python setup.py develop:当你安装一个包后,这个包需要你不断修改,这样你就不得不重新安装,这时就采用这种安装方法。

pip install安装包与python install安装包的区别

例如以安装requests包为例。 
1、如果用 pip install requests 安装requests模块,则会把requests依赖的其它库都安装上,不用再费力去安装依赖的库了。 
2、如果用 python setup.py install 安装requests模块,还要手动去安装第三方依赖的模块,否则在import requests的时候会报错。 
例如当执行 python setup.py install 后,显示安装成功。 
执行import requests,提示错误信息: 
ImportError: No module named 'urllib3' 
然后你再下载urllib3模块,用python setup.py install 安装,安装成功后,再执行import requests ,提示错误信息: 
ImportError: No module named 'chardet' 
你重复上面的操作,用同样的方法安装chardet后,你再执行import requests ,提示错误信息: 
ImportError: No module named 'certifi' 
最后我放弃了,不知道request到底依赖了多少的包(通过看源码可知) 。

通过上面两种方法对比,建议直接用pip的方法进行安装,一次到位。

在virtualenv中设置:pip install -e . vs python setup.py install

Editable   pip                    setup.py
yes        pip install -e .       python setup.py develop
no         pip install .          python setup.py install

我自己总结的

这个.表示在当前目录下面找setup.py文件
如果setup.py在liuhao里面,就需要使用pip install ./liuhao/

-e就是--editable
-e, --editable <path/url>   Install a project in editable mode (i.e. setuptools "develop mode") from a local project path or a VCS url.

只需要这一个setup.py文件就可以安装下面的

liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ tree
.
└── liuhao
    └── setup.py

1 directory, 1 file
liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

pip install ./liuhao/

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip install ./liuhao/
Processing ./liuhao
Building wheels for collected packages: DCNv2
  Building wheel for DCNv2 (setup.py) ... done
  Created wheel for DCNv2: filename=DCNv2-0.1-cp37-cp37m-linux_x86_64.whl size=2972 sha256=7ce42fa9f4e0537b49446ae02d34f4060704fb0c1b31b7d95c44862db3bb3fd3
  Stored in directory: /tmp/pip-ephem-wheel-cache-gc_pgq8e/wheels/e0/88/72/76ba75e305b4a20501b63b64cdc7a5db23a7b93b2dd7bcb9cd
Successfully built DCNv2
Installing collected packages: DCNv2
Successfully installed DCNv2-0.1
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

#会在/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/生成:
_ext.cpython-37m-x86_64-linux-gnu.so
DCNv2-0.1.dist-info文件夹

#==========================================================================
#没有在/home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/生成任何文件

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip list
Package              Version
-------------------- ------------------

DCNv2                0.1

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip show dcnv2
Name: DCNv2
Version: 0.1
Summary: deformable convolutional networks
Home-page: https://github.com/charlesshang/DCNv2
Author: charlesshang
Author-email: UNKNOWN
License: UNKNOWN
Location: /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages
Requires: 
Required-by: 
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

python ./liuhao/setup.py install

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ python ./liuhao/setup.py install
running install
running bdist_egg
running egg_info
creating DCNv2.egg-info
writing DCNv2.egg-info/PKG-INFO
writing dependency_links to DCNv2.egg-info/dependency_links.txt
writing top-level names to DCNv2.egg-info/top_level.txt
writing manifest file 'DCNv2.egg-info/SOURCES.txt'
reading manifest file 'DCNv2.egg-info/SOURCES.txt'
writing manifest file 'DCNv2.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
building '_ext' extension
creating build
creating build/lib.linux-x86_64-3.7
g++ -pthread -shared -B /home/liuhao/anaconda3/envs/mydetection_python3.7.3/compiler_compat -L/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib -Wl,-rpath=/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib -Wl,--no-as-needed -Wl,--sysroot=/ -L/usr/local/cuda/lib64 -lcudart -o build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
creating stub loader for _ext.cpython-37m-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/_ext.py to _ext.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying DCNv2.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying DCNv2.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying DCNv2.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying DCNv2.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__._ext.cpython-37: module references __file__
creating dist
creating 'dist/DCNv2-0.1-py3.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing DCNv2-0.1-py3.7-linux-x86_64.egg
creating /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/DCNv2-0.1-py3.7-linux-x86_64.egg
Extracting DCNv2-0.1-py3.7-linux-x86_64.egg to /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages
Adding DCNv2 0.1 to easy-install.pth file

Installed /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/DCNv2-0.1-py3.7-linux-x86_64.egg
Processing dependencies for DCNv2==0.1
Finished processing dependencies for DCNv2==0.1
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

#会在/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/生成:
DCNv2-0.1-py3.7-linux-x86_64.egg文件夹(里面有_ext.cpython-37m-x86_64-linux-gnu.so)
easy-install.pth

#==========================================================================
#会在/home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/生成:这个不在liuhao文件夹里面
build文件夹(里面有_ext.cpython-37m-x86_64-linux-gnu.so)
DCNv2.egg-info文件夹
dist文件夹

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip list
Package              Version
-------------------- ------------------

DCNv2                0.1

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip show dcnv2
Name: DCNv2
Version: 0.1
Summary: deformable convolutional networks
Home-page: https://github.com/charlesshang/DCNv2
Author: charlesshang
Author-email: UNKNOWN
License: UNKNOWN
Location: /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/DCNv2-0.1-py3.7-linux-x86_64.egg
Requires: 
Required-by: 
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

pip install -e ./liuhao/

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip install -e ./liuhao/
Obtaining file:///home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/liuhao
Installing collected packages: DCNv2
  Running setup.py develop for DCNv2
Successfully installed DCNv2
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

#会在/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/生成:
easy-install.pth
DCNv2.egg-link

#==========================================================================
#会在/home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/liuhao/生成:
build文件夹(里面有_ext.cpython-37m-x86_64-linux-gnu.so)
DCNv2.egg-info文件夹
_ext.cpython-37m-x86_64-linux-gnu.so


(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip list
Package              Version            Location
-------------------- ------------------ --------------------------------------------------------------------------------

DCNv2                0.1                /home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/liuhao

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip show dcnv2
Name: DCNv2
Version: 0.1
Summary: deformable convolutional networks
Home-page: https://github.com/charlesshang/DCNv2
Author: charlesshang
Author-email: UNKNOWN
License: UNKNOWN
Location: /home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/liuhao
Requires: 
Required-by: 
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$

python ./liuhao/setup.py develop

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ python ./liuhao/setup.py develop
running develop
running egg_info
creating DCNv2.egg-info
writing DCNv2.egg-info/PKG-INFO
writing dependency_links to DCNv2.egg-info/dependency_links.txt
writing top-level names to DCNv2.egg-info/top_level.txt
writing manifest file 'DCNv2.egg-info/SOURCES.txt'
reading manifest file 'DCNv2.egg-info/SOURCES.txt'
writing manifest file 'DCNv2.egg-info/SOURCES.txt'
running build_ext
building '_ext' extension
creating build
creating build/lib.linux-x86_64-3.7
g++ -pthread -shared -B /home/liuhao/anaconda3/envs/mydetection_python3.7.3/compiler_compat -L/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib -Wl,-rpath=/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib -Wl,--no-as-needed -Wl,--sysroot=/ -L/usr/local/cuda/lib64 -lcudart -o build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so
copying build/lib.linux-x86_64-3.7/_ext.cpython-37m-x86_64-linux-gnu.so -> 
Creating /home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/DCNv2.egg-link (link to .)
Adding DCNv2 0.1 to easy-install.pth file

Installed /home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2
Processing dependencies for DCNv2==0.1
Finished processing dependencies for DCNv2==0.1
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
#==========================================================================
#会在/home/liuhao/anaconda3/envs/mydetection_python3.7.3/lib/python3.7/site-packages/生成:
easy-install.pth
DCNv2.egg-link


#会在/home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2/生成:
build文件夹(里面有_ext.cpython-37m-x86_64-linux-gnu.so)
DCNv2.egg-info文件夹
_ext.cpython-37m-x86_64-linux-gnu.so
#这个不在liuhao文件夹里面

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip list
Package              Version            Location
-------------------- ------------------ -------------------------------------------------------------------------

DCNv2                0.1                /home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2

(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$ pip show dcnv2
Name: DCNv2
Version: 0.1
Summary: deformable convolutional networks
Home-page: https://github.com/charlesshang/DCNv2
Author: charlesshang
Author-email: UNKNOWN
License: UNKNOWN
Location: /home/liuhao/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2
Requires: 
Required-by: 
(mydetection_python3.7.3) liuhao@liuhao-Lenovo:~/PycharmProjects/DeepLearning_liuhao/CenterNet_download/DCNv2$
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在现有省、市港口信息化系统进行有效整合基础上,借鉴新 一代的感知-传输-应用技术体系,实现对码头、船舶、货物、重 大危险源、危险货物装卸过程、航管航运等管理要素的全面感知、 有效传输和按需定制服务,为行政管理人员和相关单位及人员提 供高效的管理辅助,并为公众提供便捷、实时的水运信息服务。 建立信息整合、交换和共享机制,建立健全信息化管理支撑 体系,以及相关标准规范和安全保障体系;按照“绿色循环低碳” 交通的要求,搭建高效、弹性、高可扩展性的基于虚拟技术的信 息基础设施,支撑信息平台低成本运行,实现电子政务建设和服务模式的转变。 实现以感知港口、感知船舶、感知货物为手段,以港航智能 分析、科学决策、高效服务为目的和核心理念,构建“智慧港口”的发展体系。 结合“智慧港口”相关业务工作特点及信息化现状的实际情况,本项目具体建设目标为: 一张图(即GIS 地理信息服务平台) 在建设岸线、港口、港区、码头、泊位等港口主要基础资源图层上,建设GIS 地理信息服务平台,在此基础上依次接入和叠加规划建设、经营、安全、航管等相关业务应用专题数据,并叠 加动态数据,如 AIS/GPS/移动平台数据,逐步建成航运管理处 "一张图"。系统支持扩展框架,方便未来更多应用资源的逐步整合。 现场执法监管系统 基于港口(航管)执法基地建设规划,依托统一的执法区域 管理和数字化监控平台,通过加强对辖区内的监控,结合移动平 台,形成完整的多维路径和信息追踪,真正做到问题能发现、事态能控制、突发问题能解决。 运行监测和辅助决策系统 对区域港口与航运业务日常所需填报及监测的数据经过科 学归纳及分析,采用统一平台,消除重复的填报数据,进行企业 输入和自动录入,并进行系统智能判断,避免填入错误的数据, 输入的数据经过智能组合,自动生成各业务部门所需的数据报 表,包括字段、格式,都可以根据需要进行定制,同时满足扩展 性需要,当有新的业务监测数据表需要产生时,系统将分析新的 需求,将所需字段融合进入日常监测和决策辅助平台的统一平台中,并生成新的所需业务数据监测及决策表。 综合指挥调度系统 建设以港航应急指挥中心为枢纽,以各级管理部门和经营港 口企业为节点,快速调度、信息共享的通信网络,满足应急处置中所需要的信息采集、指挥调度和过程监控等通信保障任务。 设计思路 根据项目的建设目标和“智慧港口”信息化平台的总体框架、 设计思路、建设内容及保障措施,围绕业务协同、信息共享,充 分考虑各航运(港政)管理处内部管理的需求,平台采用“全面 整合、重点补充、突出共享、逐步完善”策略,加强重点区域或 运输通道交通基础设施、运载装备、运行环境的监测监控,完善 运行协调、应急处置通信手段,促进跨区域、跨部门信息共享和业务协同。 以“统筹协调、综合监管”为目标,以提供综合、动态、实 时、准确、实用的安全畅通和应急数据共享为核心,围绕“保畅通、抓安全、促应急"等实际需求来建设智慧港口信息化平台。 系统充分整合和利用航运管理处现有相关信息资源,以地理 信息技术、网络视频技术、互联网技术、移动通信技术、云计算 技术为支撑,结合航运管理处专网与行业数据交换平台,构建航 运管理处与各部门之间智慧、畅通、安全、高效、绿色低碳的智 慧港口信息化平台。 系统充分考虑航运管理处安全法规及安全职责今后的变化 与发展趋势,应用目前主流的、成熟的应用技术,内联外引,优势互补,使系统建设具备良好的开放性、扩展性、可维护性。
### 回答1: Python setup.py develop报错可能是由于多种原因引起的,需要具体分析错误信息和环境配置。常见的错误包括依赖库缺失、Python版本不兼容、权限不足等。建议先检查环境配置和依赖库是否正确安装,如果问题仍然存在,可以提供具体的错误信息和环境配置,以便更好地定位问题。 ### 回答2: 当我们在使用Python环境中使用“python setup.py develop”命令时,有时候会遇到报错的情况,表现为输出一些错误信息,并且无法成功安装或运行程序。这种情况的出现通常有多种原因,下面我们来详细探讨一下可能的原因和解决方案。 1. 环境问题 首先,检查一下当前环境是否激活了Python对应的虚拟环境,如果没有激活的话,命令行运行“workon your_env”或者“source activate your_env”进行激活,其中“your_env”指的是你想使用的虚拟环境名称。如果还是无法解决问题,那么就需要进一步检查Python环境的版本是否合适。 2. 依赖问题 第二个可能的原因是依赖问题,如果软件包依赖于其他的Python模块或库,那么在执行“python setup.py develop”之前,我们需要手动安装这些依赖的模块或库。可以通过pip进行安装或者手动下载来进行安装。 3. 文件路径问题 第三个问题是文件路径问题,有时候我们的代码中可能没有正确指定文件路径,导致安装或运行时出现错误。需要检查setup.py文件是否包含正确的文件路径。 4. 权限问题 最后一个问题是权限问题,有些系统可能会因为权限不足而导致“python setup.py develop”命令无法执行。可以通过chmod命令给当前用户授权。 综上所述,Python环境中“python setup.py develop”命令报错的原因可能有很多,有时候需要多方面的排查和解决。需要根据错误信息,逐一排查可能的问题,以解决这个问题。 ### 回答3: 在运行Python程序时,可能会遇到各种各样的错误。其中之一就是运行“python setup.py develop”命令报错。这种错误通常是由于环境配置问题引起的,下面我将介绍可能导致此错误的原因和解决方法。 1. 没有正确安装setuptools或pip setuptools和pip是常用的包管理工具,如果没有正确地安装它们,那么开发模式的安装就会出错。解决这个问题的方法是安装setuptools和pip,并将它们添加到环境变量中。 2. 当前目录下没有setup.py文件 如果在当前目录下找不到setup.py文件,那么运行“python setup.py develop”命令就会报错。解决这个问题的方法是在当前目录中创建setup.py文件或者进入到包含setup.py文件的目录中运行该命令。 3. virtualenv环境问题 如果运行该命令时出现virtualenv环境问题,那么可能是由于该环境中缺少必需的库或因为虚拟环境没有激活引起的。此时可以使用以下命令激活虚拟环境: $ source env/bin/activate 4. 缺少所需的依赖库 如果运行“python setup.py develop”时出现缺少所需的依赖库错误,那么可能是由于环境中缺少必需的库或者版本不匹配。解决这个问题的方法是在requirements.txt文件中列出所有需要的依赖库,并使用pip命令安装这些库。 总而言之,运行“python setup.py develop”命令报错可能是由于多种原因引起的,需要仔细检查环境配置、依赖库以及文件路径等因素,才能找到并解决问题。在处理问题时可以先查看错误信息,根据错误信息调整代码或者环境配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值