pythonrediswindows
『壹』 python安裝hiredis一直報錯什麼。。求解。環境是win64下
很稿薯明顯你的環顫粗境里沒有sys/socket.h這茄敬鎮個頭文件。hiredis是依賴c庫hiredis的python擴展,要編譯的。
fatal error: sys/socket.h: No such file or directory
#include <sys/socket.h>
『貳』 盤點Python常用的模塊和包
模塊
1.定義
計算機在開發過程中,代碼越寫越多,也就越難以維護,所以為了編寫可維護的代碼,我們會把函數進行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊。
2.優點:
提高代碼的可維護性。
提高代碼的復用,當模塊完成時就可以在其他代碼中調用。
引用其他模塊,包含python內置模塊和其他第三方模塊。
避免函數名和變數名等名稱沖突。
python內建模塊:
1.sys模塊
2.random模塊
3.os模塊:
os.path:講解
https://www.cnblogs.com/yufeihlf/p/6179547.html
數據可視化
1.matplotlib :
是Python可視化程序庫的泰斗,它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。
訪問:
https://matplotlib.org/
顏色:
https://www.cnblogs.com/darkknightzh/p/6117528.html
教程:
https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html
2.Seaborn:
它是構建在matplotlib的基礎上的,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。
訪問:
http://seaborn.pydata.org/index.html
3.ggplot:
gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖
訪問:
http://ggplot.yhathq.com/
4.Mayavi:
Mayavi2完全用Python編寫,因此它不但是一個方便實用的可視化軟體,而且可以方便地用Python編寫擴展,嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API:mlab快速繪制三維圖
訪問:http://code.enthought.com/pages/mayavi-project.html
講解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8
5.TVTK:
TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支持Trait屬性和numpy的多維數組。
VTK (http://www.vtk.org/) 是一套三維的數據可視化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示數據
講解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html
機器學習
1.Scikit-learn
是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重復使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。
訪問:
講解:https://blog.csdn.net/finafily0526/article/details/79318401
2.Tensorflow
最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。
相關推薦:《Python視頻教程》
Web框架
1.Tornado
訪問:http://www.tornadoweb.org/en/stable/
2.Flask
訪問:http://flask.pocoo.org/
3.Web.py
訪問:http://webpy.org/
4.django
https://www.djangoproject.com/
5.cherrypy
http://cherrypy.org/
6.jinjs
http://docs.jinkan.org/docs/jinja2/
GUI 圖形界面
1.Tkinter
https://wiki.python.org/moin/TkInter/
2.wxPython
https://www.wxpython.org/
3.PyGTK
http://www.pygtk.org/
4.PyQt
https://sourceforge.net/projects/pyqt/
5.PySide
http://wiki.qt.io/Category:LanguageBindings::PySide
科學計算
教程
https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#
1.numpy
訪問
http://www.numpy.org/
講解
https://blog.csdn.net/lm_is_dc/article/details/81098805
2.sympy
sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題
訪問
https://docs.sympy.org/0.7.1/guide.html#guide
講解
https://www.jianshu.com/p/339c91ae9f41
解方程
https://www.cnblogs.com/zyg123/p/10549354.html
3.SciPy
官網
https://www.scipy.org/
講解
https://blog.csdn.net/wsp_1138886114/article/details/80444621
4.pandas
官網
http://pandas.pydata.org/
講解
https://www.cnblogs.com/linux-wangkun/p/5903945.html
5.blaze
官網
http://blaze.readthedocs.io/en/latest/index.html
密碼學
1.cryptography
https://pypi.python.org/pypi/cryptography/
2.hashids
http://www.oschina.net/p/hashids
3.Paramiko
http://www.paramiko.org/
4.Passlib
https://pythonhosted.org/passlib/
5.PyCrypto
https://pypi.python.org/pypi/pycrypto
6.PyNacl
http://pynacl.readthedocs.io/en/latest/
爬蟲相關
requests
http://www.python-requests.org/
scrapy
https://scrapy.org/
pyspider
https://github.com/binux/pyspider
portia
https://github.com/scrapinghub/portia
html2text
https://github.com/Alir3z4/html2text
BeautifulSoup
https://www.crummy.com/software/BeautifulSoup/
lxml
http://lxml.de/
selenium
http://docs.seleniumhq.org/
mechanize
https://pypi.python.org/pypi/mechanize
PyQuery
https://pypi.python.org/pypi/pyquery/
creepy
https://pypi.python.org/pypi/creepy
gevent
一個高並發的網路性能庫
http://www.gevent.org/
圖像處理
bigmoyan
http://scikit-image.org/
Python Imaging Library(PIL)
http://www.pythonware.com/procts/pil/
pillow:
http://pillow.readthedocs.io/en/latest/
自然語言處理
1.nltk:
http://www.nltk.org/
教程
https://blog.csdn.net/wizardforcel/article/details/79274443
2.snownlp
https://github.com/isnowfy/snownlp
3.Pattern
https://github.com/clips/pattern
4.TextBlob
http://textblob.readthedocs.io/en/dev/
5.Polyglot
https://pypi.python.org/pypi/polyglot
6.jieba:
https://github.com/fxsjy/jieba
資料庫驅動
mysql-python
https://sourceforge.net/projects/mysql-python/
PyMySQL
https://github.com/PyMySQL/PyMySQL
PyMongo
https://docs.mongodb.com/ecosystem/drivers/python/
pymongo
MongoDB庫
訪問:https://pypi.python.org/pypi/pymongo/
redis
Redis庫
訪問:https://pypi.python.org/pypi/redis/
cxOracle
Oracle庫
訪問:https://pypi.python.org/pypi/cx_Oracle
SQLAlchemy
SQL工具包及對象關系映射(ORM)工具
訪問:http://www.sqlalchemy.org/
peewee,
SQL工具包及對象關系映射(ORM)工具
訪問:https://pypi.python.org/pypi/peewee
torndb
Tornado原裝DB
訪問:https://github.com/bdarnell/torndb
Web
pycurl
URL處理工具
smtplib模塊
發送電子郵件
其他庫暫未分類
1.PyInstaller:
是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環境中運行,也可以作為一個 獨立文件方便傳遞和管理。
2.Ipython
一種互動式計算和開發環境
講解
https://www.cnblogs.com/zzhzhao/p/5295476.html
命令
ls、cd 、run、edit、clear、exist
『叄』 Python 常用的標准庫以及第三方庫有哪些
參考:知乎
Python 常用的標准庫以及第三方庫
standard libs:
itertools
functools 學好python有必要掌握上面這兩個庫吧,
re 正則
subprocess 調用shell命令的神器
pdb 調試
traceback 調試
pprint 漂亮的輸出
logging 日誌
threading和multiprocessing 多線程
urllib/urllib2/httplib http庫,httplib底層一點,推薦第三方的庫requests
os/sys 系統,環境相關
Queue 隊列
pickle/cPickle 序列化工具
hashlib md5, sha等hash演算法
cvs
json/simplejson python的json庫,據so上的討論和benchmark,simplejson的性能要高於json
timeit 計算代碼運行的時間等等
cProfile python性能測量模塊
glob 類似與listfile,可以用來查找文件
atexit 有一個注冊函數,可用於正好在腳本退出運行前執行一些代碼
dis python 反匯編,當對某條語句不理解原理時,可以用dis.dis 函數來查看代碼對應的python 解釋器指令等等。
3th libs:
paramiko ssh python 庫
selenium 瀏覽器自動化測試工具selenium的python 介面
lxml python 解析html,xml 的神器
mechanize Stateful programmatic web browsing
pycurl cURL library mole for Python
Fabric Fabric is a Python (2.5 or higher) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
xmltodict xml 轉 dict,真心好用
urllib3 和 requests: 當然其實requests就夠了 Requests: HTTP for Humans
flask web 微框架
ipdb 調試神器,同時推薦ipython!結合ipython使用
redis redis python介面
pymongo mongodbpython介面
PIL python圖像處理
mako python模版引擎
numpy , scipy 科學計算
matplotlib 畫圖
scrapy 爬蟲
django/tornado/web.py/web2py/uliweb/flask/twisted/bottle/cherrypy.等等 python web框架/伺服器
sh 1.08 — sh v1.08 documentation 用來運行shell 模塊的 極佳選擇
『肆』 Python 進階都要學什麼
在學習Python之前 肯定都自己了解過這豎轎門語言,也知道Python有很多的學習方向,比如說數據採集方向(爬蟲),或者Web開發方向,也可能是最近特別火熱的人工智慧方向。每個方向所需要的技術都是不盡相同的,所以在我們學習完成Python的基礎語法之後,一定要慎重選擇自己之後的進階方向。通用必備基礎知識:(這些知識不管是做python哪方面,都是基礎性知識,都必須會)。
1.學習python基礎語法知識
2.學習網路編程,熟悉線程、進程、等網路編程基本原理
3.學習MySQL,能熟練對資料庫數據的增刪改查命令,面試也會經常問到(有條件學習下mongodb和redis,尤其是redis,現在很多技術都利用到了redis的優秀特性,比如爬蟲的去重、分布式爬蟲、數據緩存等等)
4.學習正則表達式,用於數據的提取 re模塊。
5、前端入門html\\css\\jquery,用於分析網頁頁面結構,能讀懂前端人員編寫的代碼含義。
轉型爬蟲學習的知識:1.requests庫:發送網頁請求,返回數據。
2.xpath:用於網頁元素的提取(當然還有bs4、pyquery等,選擇順手的)。
3.selenium:用於真實瀏覽器訪問網頁,根據具體情況使用。
4.scrapy:用於大規模快速網頁數據爬取。
5.驗證碼破解:驗證碼破解建議大家可以多搞點難破解的,比如滑塊驗證碼、淘寶驗證碼、12306驗證碼等等,面試余坦肆經常問到哦。
6、web後台庫和框架:django、flask、tornado,三個框架各有優劣,web框架小編用django和flask居多,django覺得很多東西都已經封裝好了,可以直接用,不用自己手動構造,比如django的admin後台和xadmin後台,flask就相對靈活多變,還是那句話,至少掌握兩個框架,多多益善。
因為入門編程並不是一件分分鍾就能做到的事情,多以你要堅持每天打卡。不信模要三天打魚兩天曬網。要循序漸進,溫故而知新。
『伍』 redis中的數據佔用內存大小分析
如今越來越來的系統中使用 redis 作為緩存系統,但是隨著用戶量的增長,業務數據不斷增多,redis伺服器的內存空間有可能會到瓶頸了,及時觀察redis中的各種鍵內存佔用多少,會方便我們評估何時升級redis伺服器規格,以及對於是否需要進行程序優化來設計合理的存儲結構都會有很大幫助,下面給大家介紹兩款工具 rdr 和 redis-rdb-tools ,可以很好的滿足我們的需要
詳細使用參考官方倉庫:https://github.com/xueqiu/rdr
rdr提供了linux/OSX/Windows下的可執行文件,直接點擊下載,我這里演示Windows下的使用方式
下載下來後存儲到d:/dev路徑下
1.首先要去redis伺服器端將rdb文件復制到本地,為了方便,我將rdb文件放到了rdr工具所在目錄
這里再說下redis rdb文件該怎麼找到,通過查看redis伺服器配置文件 redis.conf ,搜索 dbfilename 可以快速定位到該配置,按照路徑就可以找到redis rdb備份文件了
2.在rdr工具所在的路徑下打開命令行窗口,執行指令
可以看到指令執行成功後,在本地啟動了server,監聽埠8080
3.打開瀏覽器,訪問http://localhost:8080/,能看到詳細的內存佔用數據報告,包括鍵數量、不同的數據類型、元素計數等
不過通過網頁版的數據報告中有個小問題,對於redis中的不同資料庫沒有明顯的區分展示~,混在一起,不是太清晰
詳細使用參考官方倉庫:https://github.com/sripathikrishnan/redis-rdb-tools/
1.安裝python環境,我這里安裝了python2.7.15
2.通過pip安裝redis-rdb-tools
我這里python-lzf庫沒有安裝成功,不過不影響實際使用,這個庫是為了加速rdb文件解析速度~
3.安裝完成後就可以在命令行中使用了,輸入指令生成內存報告文件
等待一段時間,命令阻塞執行完成後,就會在-f參數指定的路徑下生成對應的文件
用excel打開生成的csv文件,可以看到詳細的統計結果,包含了所有資料庫下所有key的內存佔用情況~
redis-rdb-tools中還帶了一個很有用的命令,能幫助我們直接查詢單個key的內存佔用情況,命令格式如下
執行測試下效果,可以看到命令執行完成後,直接回顯出指定key對應的內存佔用情況了
注意該操作在生產環境下慎用,視key大小情況再行決定是否執行,有可能會阻塞執行很長時間才能計算出結果~
『陸』 python2.7安裝rediscluster模塊報錯,求助
1如果是在windows上請下載PYTHON2.6的安裝程序,然後直接運行即可安裝完成。2安裝完成後需要到系統的環境變數處設置PYTHON的環境變數具體設置方法如圖3在命令行鍵入python遍可以進入PYTHON的交互編程界面。如果需要在LINUX上安裝以CENTOS為例:1,用ROOT方式登陸到系統輸入yuminstallpython即可完成安裝。2運行SHELL輸入PYTHON即可運行。3執行在shell中輸入pythonany.py即可
『柒』 在windows下用哪些內存資料庫,類似redis的
內存資料庫從范型上可以分為關系型內存資料庫和鍵值型內存資料庫。在實際應用中內存資料庫主要是配合oracle或mysql等大型關系資料庫使用,關注性能。
作用類似於緩存,並不注重數據完整性和數據一致性。
基於鍵值型的內存資料庫比關系型更加易於使用,性能和可擴展性更好,因此在應用上比關系型的內存資料庫使用更多。
比較FastDB、Memcached和Redis主流內存資料庫的功能特性。
FastDB的特點包括如下方面:
1、FastDB不支持client-server架構因而所有使用FastDB的應用程序必須運行在同一主機上;
2、fastdb假定整個資料庫存在於RAM中,並且依據這個假定優化了查詢演算法和介面。
3、fastdb沒有資料庫緩沖管理開銷,不需要在資料庫文件和緩沖池之間傳輸數據。
4、整個fastdb的搜索演算法和結構是建立在假定所有的數據都存在於內存中的,因此數據換出的效率不會很高。
5、Fastdb支持事務、在線備份以及系統崩潰後的自動恢復。
6、fastdb是一個面向應用的資料庫,資料庫表通過應用程序的類信息來構造。
FastDB不能支持Java API介面,這使得在本應用下不適合使用FastDB。
Memcached
Memcached是一種基於Key-Value開源緩存伺服器系統,主要用做資料庫的數據高速緩沖,並不能完全稱為資料庫。
memcached的API使用三十二位元的循環冗餘校驗(CRC-32)計算鍵值後,將資料分散在不同的機器上。當表格滿了以後,接下來新增的資料會以LRU機制替換掉。由於 memcached通常只是當作緩存系統使用,所以使用memcached的應用程式在寫回較慢的系統時(像是後端的資料庫)需要額外的程序更新memcached內的資料。
memcached具有多種語言的客戶端開發包,包括:Perl、PHP、JAVA、C、Python、Ruby、C#。
Redis
Redis是一個高性能的key-value資料庫。redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關系資料庫起到很好的補充作用。它提供了C++、Java、Python,Ruby,Erlang,PHP客戶端。
『捌』 Python 常用的標准庫以及第三方庫有哪些
Python常用庫大全,看看有沒有你需要的。
環境管理
管理 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 類型。
path.py – 對 os.path 進行封裝的模塊。
pathlib – (Python3.4+ 標准庫)跨平台的、面向對象的路徑操作庫。
python-magic- 文件類型檢測的第三方庫 libmagic 的 Python 介面。
Unipath- 用面向對象的方式操作文件和目錄
watchdog – 管理文件系統事件的 API 和 shell 工具
日期和時間
操作日期和時間的類庫。
arrow- 更好的 Python 日期時間操作類庫。
Chronyk – Python 3 的類庫,用於解析手寫格式的時間和日期。
dateutil – Python datetime 模塊的擴展。
delorean- 解肢攜決 Python 中有關日期處理的棘手問題的庫。
moment – 一個用來處理時間和日期的Python庫。靈感來自於Moment.js。
PyTime – 一個簡單易用的Python模歷慎伏塊,用於通過字元串來操作日期/時間。
pytz – 現代以及歷史版本的世界時區定義。將時區資料庫引入Python。
when.py – 提供用戶友好的函數來幫助用戶進行常用的日期和時間操作。
文本處理
用於解析和操作文本的庫。
通用
chardet – 字元編碼檢測器,兼容 Python2 和 Python3。
difflib – (Python 標准庫)幫助我們進行差異化比較。
ftfy – 讓Unicode文本更完整更連貫。
fuzzywuzzy – 模糊字元串匹配。
Levenshtein – 快速計算編輯距離以及字元串的相似度。
pangu.py – 在中日韓語字元和數字字母之間添加空格。
pyfiglet -figlet 的 Python實現。
shortuuid – 一個生成器庫,用以生成簡潔的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 轉換形式 。
uniout – 列印可讀的字元,而不是轉義的字元串。
xpinyin – 一個用於把漢字轉換為拼音的庫。