环境管理
管理 Python 版本和环境的工具
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
将源码编译成软件。
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
imghdr – (Python 标准库)检测类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
pathpy – 对 ospath 进行封装的模块。
pathlib – (Python34+ 标准库)跨平台的、面向对象的路径 *** 作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式 *** 作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
日期和时间
*** 作日期和时间的类库。
arrow- 更好的 Python 日期时间 *** 作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Momentjs。
PyTime – 一个简单易用的Python模块,用于通过字符串来 *** 作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
whenpy – 提供用户友好的函数来帮助用户进行常用的日期和时间 *** 作。
文本处理
用于解析和 *** 作文本的库。
通用
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangupy – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。选择服务器 *** 作系统应该根据以下几点考虑:
1 应用程序需求:选择服务器 *** 作系统应该优先考虑应用程序的需求。例如,如果需要运行Microsoft SQL Server,则应该选择Windows Server *** 作系统;如果需要运行LAMP堆栈(Linux+ Apache +MySQL + PHP/Python/Perl),则应该选择Linux *** 作系统。
2 安全性: *** 作系统的安全性是服务器的重要考虑因素之一。因此,应该选择一个安全性高的 *** 作系统。Linux *** 作系统由于其开源和广泛的社区支持,通常比Windows Server更安全。
3 管理和维护:不同的服务器 *** 作系统有不同的管理和维护工具。选择一个易于配置、 *** 作和维护的 *** 作系统可以最小化管理成本。一些 *** 作系统也提供了远程管理功能,这对于管理员来说非常方便。
4 可扩展性:随着企业不断发展,服务器的需求也会不断变化。因此,应该选择一个可扩展的 *** 作系统,可以无缝地扩展到未来的需求变化。
综上所述,选择服务器 *** 作系统应该根据企业的需求和预算来决定。但是,一般而言,Linux *** 作系统是一个很好的选择,因为它通常比Windows Server更安全,容易管理和维护,并且支持广泛的开源应用程序和工具。开源即开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式,讲源代码公开。闭源(Closed source)是作为开源的反义词而出现的一个术语,指被用于任何没有资格作为开源许可术语的程序。
1、开源。 描述了一种在产品的出品和开发中提供最终源材料的做法。一些人将开放源代码认为是一种哲学思想,另一些人则把它当成一种实用主义。在这个词广泛使用前,开发者和生产者使用很多词去描述这个概念;开放源代码在互联网上获得广泛使用,参加者需要大量更新电脑源代码。开放源代码使得生产模块、通信管道、交互社区获得改善。随后,一个新著作权、软件授权条款、域名和消费者提供创建的,一个新词开源软件诞生。
2、闭源。一般意味着将仅能获得它们许可的计算机程序的一个二进制版本,而没有这个程序的源代码。软件的翻译修改从技术方面来说几乎是不可能的。这个发展模型的源代码被看作这个公司的商业秘密,因此可能获得源代码接入的团体例如学校,商业机构等必须提前签订不泄漏协议,以保证源代码不会大众所知而影响其盈利。
那么对于开源和闭源,两者有哪些优势呢?
针对闭源……
1 出了问题,不用自己搞定
只要是软件,难保不出问题。要是开源软件出了这事儿,要么你自己,要么某个欠你人情债的工程师,总得有个人要花费时间排除bug。通览代码,求助于开源社区或者开源软件的供应商,通过这些手段来解决问题。
但是闭源呢,一旦你确定开发商代码出了问题,ok,你的工作到此为止! 你只需发个文件,等着就行了。当然,可能会等上几个月或者几年,问题才能得到解决,更甚者永远得不到答复。但是除此之外,你还能做什么呢。 把问题踢回去,放松,期待最好的解决方案,仅此而已。
2 不必担心贡献回流到社区
如果用的是开源软件, 很有可能, 你解决了一个bug或者做出了改善,之后你的代码就会进入到社区,随着时间的推移从而帮助测试或者维护。
闭源就不同了,你根本用不着给任何人做任何事情。当然,那是因为你接触不到代码,所以也修改不了,但是你可以针对遇到的问题创建自己的解决方案。你可以一直只针对同一个问题,改善再改善,一个版本接着一个版本,至少用不着跟社区打交道,为其他人提供更好的解决方法。
3 你不必考虑开源许可条款及规定事宜
对于开源,你必须遵循所使用的组件的许可条款。例如,想要搞明白Apache软件许可证和GPL之间的区别与联系,是需要花费一定的时间的。使用哪一种许可证取决于你所用的开源组件以及你如何使用这些组件(发布给第三方或者内部使用),据此都有不同的许可证可供应用(可附加到文档中进行说明)。
像OpenLogic这样的公司可以很容易地理解并遵守开源许可,但是针对闭源,你大可不必担心这类事情!你的供应商的许可协议把有关软件的所有的权利都收走了,如果没有你的公司的律师明确同意的情况下,你几乎是不可能的想以别的方式使用这些软件,想都不要想。当然,你还得考虑许可证数量、突如其来的软件合规性审计、随着时间的推移而恶化的条款、几乎难以理解的法律术语,但至少你不必了解如何使用开源组件。
4 你用不着为每个组件在众多选项中进行选择
针对数据库,Web服务器,应用服务器,编程语言,图形用户界面框架,类似的方面等等,开源都提供了大量的解决方案。在每一个特定的领域,你都可以找到运用不同的架构方法,使用各种语言构建的健壮的成品。找一款功能相似的工具很容易,这些工具都针对不同的使用场合进行了优化(性能、可扩展性、简洁之间的比较)。为了确信一个工具软件在既定场合下功能够满足需求,可以下载下来,试用一下。
使用闭源软件的话,你就用不着对付那么多的选择。你只需要在每个领域探索两三个大厂商提供的产品。如果供应商没有提供免费试用版本,或者很难说服你为试用品买单,甚至根本不和你签署试用协议,那你就节省时间了。
5 你不必四处找幻灯片
如果打算找一些软件的会议简报,架构图表,截图,以及其他相关的文档,这需要花费一定的时间。使用开源软件,你得读百科,访问论坛,还有邮件列表,才能获取到你需要的相关组件的信息。
使用闭源软件,一通电话就足够了,只需坐在自己舒适的办公室,会有西装革履的专业人士把PowerPoint演示文稿寄送到你的面前。当然,在你提供自己的之前,销售人员是不会给你打电话的。这样看来,至少自己没必要在网上搜索带有漂亮的图形的PPT。
6 你无需到处寻求技术支持
你可以得到来自开源社区,自己的工程师,或专业开源组织的帮助。这可能需要一些时间,以决定是否要服务等级协议(SLA)的支持,以便于在保证的时间内得到答复,就像从OpenLogic那里获得帮助一样,或者如果你可以自由的发问题到邮件列表,自己解决。
闭源就不同了,你根本不需要担忧从哪获得帮助。而且,你可能根本用不着和工程师当面交谈,只需要知道给谁打电话就OK了。
7 认输就行了
开源软件,总会有办法解决问题,打补丁,改善,强化,重构,升级,或者重写。没可能跟闭源那样,甩手走开。当然,你可以谩骂开发出这个导致问题的软件的社区,但是你仍然可以解决问题,从社区或者组织那里获得帮助,或者自己动手解决。 而对于商业供应商,那就远不能满足于骂一顿和花费一天的时间来找他们。
当然啦。欢迎各位来讨论学习交流,加群1083227756
文章知识点与官方知识档案匹配
C技能树首页概览
144340 人正在系统学习中
聚天下高手,共享学习资料!
QQ群名片
打开CSDN APP,看更多技术内容
孰优孰劣 — 开源 vs 闭源_weixin_34217711的博客
闭源 *** 作系统时不时中止对旧硬件的支持,迫使用户去购买新的硬件。我们还不得不亲自寻找、安装驱动。 社区支持 几乎所有的开源 *** 作系统都有用户论坛,你可以在那里提问题,并从别的用户那里得到答案。大家在那里分享技巧和窍门,互帮互助。有经
继续访问
开源和闭源_weixin_34216196的博客
闭源比开源更安全 在国人当中,安全性的需求远大于隐私性的需求,360的兴起就是说明,为什么在浏览器、电脑管家甚至是搜索引擎之上,360都可以所向披靡不是因为他的技术和软件多厉害,而是因为360已经成为了安全的代名词,用户使用觉得放心。
继续访问
java二次开发源码-kalai:将Clojure转换为多种目标语言(Rust、C++、Java等)的源到源转译器
java二次开发源码卡莱转换器 Kalai 是一个从 Clojure 到其他语言(Rust、Java、C++ 等)的源到源转译器。 Kalai 的目标是允许有用的算法被编码一次,然后自动提供给其他目标编程语言。 基本原理 支持的表格 Kalai 旨在对工作 Clojure 源代码进行 *** 作。 Kalai 没有在 Clojure 之上引入任何新语法。 Kalai 支持足够多的 Clojure 语言结构子集来表示许多有用的算法和应用程序。 命名空间转换为类,函数转换为静态函数,defs 和 let 转换为变量,原子转换为可变数据结构,数据文字在使用时通过库默认为等效的持久数据结构。 Kalai 明确禁止除defn和def之外的顶级形式。 例如: ( ns foobar ) ( println " hi " ) 虽然在 Clojure 中有效,但大多数目标语言在编译期间不允许执行代码,因此 Kalai 将拒绝此代码。 在 已实现的目标语言 锈 Java 另见kalaiemitlangs/TARGET-LANGS 用法 最简单的入门方法是遵循examples文件夹中建立的模式。 定义了
Java开源十年争议不断:其实仍然是“闭源”
2006年11月13日,Sun Microsystems正式宣布Java开源,并希望此举能够让社区帮助进行安全分析、bug报告、增强性能、了解偏僻个案等。 不过,十年过去之后,对于Java开源的争议依旧存在。批评者认为,Java并没有像官方说的那样完全开源,其实只开放了SDK,而Java SE和Java EE TCKs仍然是闭源的。 对于Java的开源身世,最初IBM呼吁将Java捐给
继续访问
Qt 的开源版本与商业版区别及 LGPL 与闭源程序_李肖遥的博客-CSDN博
这两个版本最大的区别在于,前者是免费的,后者是收费的。既然代码都是一致的,所以费用就要是用来购买 Qt 的售后服务和培训等等相关服务。 Qt版权问题 现在我们是来说一下版权的问题。LGPL 是一个开源协议,因此,有人会担心 LGPL 能否用
继续访问
关于开源和闭源的探讨(下)_Ultipa的博客
这一模式的通用特点是通过对开源项目进行二次开发、定制、重新封装来提供具有特色(Differentiation)的功能与服务(例如性能、便捷性的提高等),并以新的开源或闭源的产品方式在市场上发行。 以Open Stack11为例,Open Stack的定位是一款星球
继续访问
开源 vs 闭源
2019独角兽企业重金招聘Python工程师标准>>>
继续访问
由Java说起:编程语言还需要开源吗?
过去的几个月里出现了很多关于Java的讨论,讨论它究竟是一种开源的语言还是一种有专利的语言。人们开始怀疑对Java进行投资是否还有意义,担心这种语言将会受到它的新管家Oracle的独裁控制。在这种情形下,人们表达出了对这种语言长期发展方向的担忧,尤其担忧的是潜在的开发和运行Java软件所需的许可费用以及成本的增加。这更加导致了人们去寻找一种开源的,独立于厂商的语言,以此避免把自己的基础架构和开发工作都捆绑在像Oracle这样的单个公司的商业标准之上。 像Python,C/C++,JavaScript,Ruby和Perl等语言都是优秀的能
编程学习,编程语言,php,android,java,c,javascript 编程语言教学,资讯
整合了各种语言(php,android,c,c++,html,div+css,python,ruby等)在工作和面试中遇到的问题 随时随地的阅读,提高我们的时间碎片利用率 我们在路上我们不断的学习
开源与闭源的 5 个最大区别
转载自|TARS 基金会作者 |Isabella Ferreira开源软件是指公开可用的计算机源代码,其特性允许任何人都可以查看、修改和分发开源代码。其中,开源社区使用分散和协作的方式进行开源软件的开发。因此,与单个公司或个人开发的软件相比,开源软件更便宜、更灵活。如今,开源软件已被公司和个人用户广泛使用,每年都会创建数千个新的开源项目。在本文中,我们将讨论开源开发模式
继续访问
热门推荐 八个 C++ 开源项目,帮助初学者进阶成长
ThreadPool 一个简单的 C++11 线程池实现,只有一个头文件,代码加起来不到 100 行。 GitHub 地址:>
1开源网络监控工具:NetXMS
NetXMS提供了企业级开源网络管理和监控程序,它在Windows和Linux上有一个简单的用户界面。
NetXMS通过相对简单的安装过程为IT基础架构的所有层提供了分布式网络监控、自动化网络发现和详细报告。
此外,服务器设备和代理对于这样一个全面的产品来说是相当轻量级的。
2开源网络监控工具:PandoraFMS
定位于企业级,PandoraFMS提供了一个时尚且整洁的用户体验,提供了易于阅读的快速洞察工具以及重要的网络统计信息,例如网络状态、已上报的告警、已部署的代理数量和其他最近执行任务的列表。
PandoraFMS可以在无需外部访问的情况下执行网络诊断,这意味着用户可以更快地响应任何网络问题。事实上,FMS声称,在代理模式下的器监控系统响应速度约为10秒。
3开源网络监控工具:Cacti
最初发布于2001年,Cacti是一款开源的基于Web的网络监控和专为数据记录而设计的图形化工具。它可以用于实时显示网络数据,如CPU负载或带宽利用率。
Cacti是RRDtool的前端应用程序,RRDtool是一种用于存储实时变化数据的开源数据库工具,其使用SNMP作为其默认收集算法,但如果你喜欢本地Perl的PHP脚本,那么你也可以使用它们。
其最新版本088h于2016年5月发布,主要功能包括无限图形项目、图形自动填充支持、图形数据处理、自定义数据采集脚本、内置SNMP支持、图形模板、数据源模板、主机模板和基于用户的管理。
4开源网络监控工具:GroundWorkMonitorCore
GroundWorkMonitorCore是监控网络、应用和云计算使用情况的平台。开源版本包含最多可监控50个设备和基于社区的支持的许可证,该软件还有其对应的商业版本。
在其网络管理功能方面,GroundWork提供网络和设备的自发现和维护、拓扑、报警控制、通过API/SNMP/IPMI的数据收集和对SDN的支持等功能。
GroundWork还提供了存储管理,支持大规模的企业级供应商,如NetApp和EMC,以及从磁盘、块或对象存储的数据收集和存储缓冲以及中断可视化。
由于GroundWork的一站式网络管理方法,这种套件可能更适合那些寻找成熟品牌的大型商业和企业,而不是以开发人员为重点的工具,如BigBrother或BigSister。
5开源网络监控工具:Hyperic
VMware的Hyperic工具用于在物理、虚拟或云环境下监控Web应用程序及其性能。它适用于应用程序服务器,web服务器,数据库, *** 作系统,虚拟机管理程序,消息传递服务和目录服务器。
Hyperic提供基础架构和 *** 作系统监控,详细的报告,应用程序和中间件监控,警报和修复工作流程以及通用可扩展的API。
该网络监控工具提供了企业版本,可以提高网络警报功能,并且能更好地创建基准。
6开源网络监控工具:Observium
基于Linux的Observium是一个自动监测的网络监控工具。据该网站介绍,“该工具是由一批经验丰富的专业网络工程师和系统管理员开发和维护的,Observium是一个由用户自己设计和构建的平台。”
Observium提供社区版本和专业版,使用RRDTool进行缓冲存储和图形化功能,并具有易于使用的用户界面和报告功能。但是,它没有报告导出功能,这可能对商务应用来讲会是一个问题。
社区版本将为用户提供对所有支持设备或指标的完整自动监测功能,通过自动发现协议进行网络映射,自动识别数百种设备,并且每六个月发布一个新版本。
而专业版用户将获得所有社区版本的功能并且还将获得实时软件更新和修复功能,基于规则的自动分组功能,网络阈值和状态警报系统以及流量统计系统。
7开源网络监控工具:Zabbix
Zabbix作为企业级的网络监控工具,通过从服务器,虚拟机和网络设备收集的数据提供实时监控,自动发现,映射和可扩展等功能。
Zabbix的企业级监控软件为用户提供内置的Java应用服务器监控,硬件监控,VMware监控和CPU,内存,网络,磁盘空间性能监控。
Nginx是一款免费开源的Web服务器,可以免费使用。Nginx是一种高性能、可靠、稳定的Web服务器,可以作为>欢迎分享,转载请注明来源:内存溢出
评论列表(0条)