日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python setup脚本编写

發布時間:2025/3/19 python 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python setup脚本编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文轉載自:http://lingxiankong.github.io/blog/2013/12/23/Python-setup/



前言

其實對于setup.py和setup.cfg的關注是從OpenStack的源碼包中開始的,OpenStack每個組件的發布時都是一個tar.gz包,同樣,我們直接從github上clone代碼后也會發現兩個文件的存在。當閱讀Nova或Ceilometer(其他組件可能也會涉及)的代碼時,發現setup.cfg中內容對于代碼的理解有很大的影響。那么,到底setup.py和setup.cfg是干什么的?

setup.py

我們從例子開始。假設你要分發一個叫foo的模塊,文件名foo.py,那么setup.py內容如下:

  • from distutils.core import setup
  • setup(name='foo',
  • version='1.0',
  • py_modules=['foo'],
  • )
  • 然后,運行python setup.py sdist為模塊創建一個源碼包

  • root@network:/kong/setup# python setup.py sdist
  • running sdist
  • running check
  • warning: check: missing required meta-data: url
  • warning: check: missing meta-data: either (author and author_email) or (maintainer and maintainer_email) must be supplied
  • warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)
  • warning: sdist: standard file not found: should have one of README, README.txt
  • writing manifest file 'MANIFEST'
  • creating foo-1.0
  • making hard links in foo-1.0...
  • hard linking foo.py -> foo-1.0
  • hard linking setup.py -> foo-1.0
  • creating dist
  • Creating tar archive
  • removing 'foo-1.0' (and everything under it)
  • 在當前目錄下,會創建dist目錄,里面有個文件名為foo-1.0.tar.gz,這個就是可以分發的包。使用者拿到這個包后,解壓,到foo-1.0目錄下執行:python setup.py install,那么,foo.py就會被拷貝到python類路徑下,可以被導入使用。

  • root@network:/kong/setup/dist/foo-1.0# python setup.py install
  • running install
  • running build
  • running build_py
  • creating build
  • creating build/lib.linux-x86_64-2.7
  • copying foo.py -> build/lib.linux-x86_64-2.7
  • running install_lib
  • copying build/lib.linux-x86_64-2.7/foo.py -> /usr/local/lib/python2.7/dist-packages
  • byte-compiling /usr/local/lib/python2.7/dist-packages/foo.py to foo.pyc
  • running install_egg_info
  • Removing /usr/local/lib/python2.7/dist-packages/foo-1.0.egg-info
  • Writing /usr/local/lib/python2.7/dist-packages/foo-1.0.egg-info
  • root@network:/kong/setup/dist/foo-1.0# ll /usr/local/lib/python2.7/dist-packages/foo
  • foo-1.0.egg-info foo.py foo.pyc
  • 對于Windows,可以執行python setup.py bdist_wininst生成一個exe文件;若要生成RPM包,執行python setup.py bdist_rpm,但系統必須有rpm命令的支持。可以運行下面的命令查看所有格式的支持:

  • root@network:/kong/setup# python setup.py bdist --help-formats
  • List of available distribution formats:
  • --formats=rpm RPM distribution
  • --formats=gztar gzip'ed tar file
  • --formats=bztar bzip2'ed tar file
  • --formats=ztar compressed tar file
  • --formats=tar tar file
  • --formats=wininst Windows executable installer
  • --formats=zip ZIP file
  • --formats=msi Microsoft Installer
  • setup函數還有一些參數:

    1、packages
    告訴Distutils需要處理那些包(包含__init__.py的文件夾)
    2、package_dir
    告訴Distutils哪些目錄下的文件被映射到哪個源碼包。一個例子:package_dir = {'': 'lib'},表示“root package”中的模塊都在lib目錄中。
    3、ext_modules
    是一個包含Extension實例的列表,Extension的定義也有一些參數。
    4、ext_package
    定義extension的相對路徑
    5、requires
    定義依賴哪些模塊
    6、provides
    定義可以為哪些模塊提供依賴
    7、scripts
    指定python源碼文件,可以從命令行執行。在安裝時指定--install-script
    8、package_data
    通常包含與包實現相關的一些數據文件或類似于readme的文件。如果沒有提供模板,會被添加到MANIFEST文件中。
    9、data_files
    指定其他的一些文件(如配置文件)

  • setup(...,
  • data_files=[('bitmaps', ['bm/b1.gif', 'bm/b2.gif']),
  • ('config', ['cfg/data.cfg']),
  • ('/etc/init.d', ['init-script'])]
  • )
  • 規定了哪些文件被安裝到哪些目錄中。如果目錄名是相對路徑,則是相對于sys.prefix或sys.exec_prefix的路徑。如果沒有提供模板,會被添加到MANIFEST文件中。

    執行sdist命令時,默認會打包哪些東西呢?

    • 所有由py_modules或packages指定的源碼文件
    • 所有由ext_modules或libraries指定的C源碼文件
    • 由scripts指定的腳本文件
    • 類似于test/test*.py的文件
    • README.txt或README,setup.py,setup.cfg
    • 所有package_data或data_files指定的文件

    還有一種方式是寫一個manifest template,名為MANIFEST.in,定義如何生成MANIFEST文件,內容就是需要包含在分發包中的文件。一個MANIFEST.in文件如下:

  • include *.txt
  • recursive-include examples *.txt *.py
  • prune examples/sample?/build
  • setup.cfg

    setup.cfg提供一種方式,可以讓包的開發者提供命令的默認選項,同時為用戶提供修改的機會。對setup.cfg的解析,是在setup.py之后,在命令行執行前。

    setup.cfg文件的形式類似于

  • [command]
  • option=value
  • ...
  • 其中,command是Distutils的命令參數,option是參數選項,可以通過python setup.py --help build_ext方式獲取。

    需要注意的是,比如一個選項是--foo-bar,在setup.cfg中必須改成foo_bar的格式

    符合Distutils2的setup.cfg有些不同。包含一些sections:
    1、global
    定義Distutils2的全局選項,可能包含commands,compilers,setup_hook(定義腳本,在setup.cfg被讀取后執行,可以修改setup.cfg的配置)
    2、metadata
    3、files

    • packages_root:根目錄
    • packages
    • modules
    • scripts
    • extra_files

    4、command?sections

    Setuptools

    上面的setup.py和setup.cfg都是遵循python標準庫中的Distutils,而setuptools工具針對Python官方的distutils做了很多針對性的功能增強,比如依賴檢查,動態擴展等。很多高級功能我就不詳述了,自己也沒有用過,等用的時候再作補充。

    一個典型的遵循setuptools的腳本:

  • from setuptools import setup, find_packages
  • setup(
  • name = "HelloWorld",
  • version = "0.1",
  • packages = find_packages(),
  • scripts = ['say_hello.py'],
  • # Project uses reStructuredText, so ensure that the docutils get
  • # installed or upgraded on the target machine
  • install_requires = ['docutils>=0.3'],
  • package_data = {
  • # If any package contains *.txt or *.rst files, include them:
  • '': ['*.txt', '*.rst'],
  • # And include any *.msg files found in the 'hello' package, too:
  • 'hello': ['*.msg'],
  • },
  • # metadata for upload to PyPI
  • author = "Me",
  • author_email = "me@example.com",
  • description = "This is an Example Package",
  • license = "PSF",
  • keywords = "hello world example examples",
  • url = "http://example.com/HelloWorld/", # project home page, if any
  • # could also include long_description, download_url, classifiers, etc.
  • )
  • 如何讓一個egg可被執行?

  • setup(
  • # other arguments here...
  • entry_points = {
  • 'setuptools.installation': [
  • 'eggsecutable = my_package.some_module:main_func',
  • ]
  • }
  • )
  • 如何定義一個可選特性?

  • setup(
  • name="Project-A",
  • ...
  • extras_require = {
  • 'PDF': ["ReportLab>=1.2", "RXP"],
  • 'reST': ["docutils>=0.3"],
  • }
  • )
  • 特性如何使用呢?需要與entry points結合使用:

  • setup(
  • name="Project-A",
  • ...
  • entry_points = {
  • 'console_scripts': [
  • 'rst2pdf = project_a.tools.pdfgen [PDF]',
  • 'rst2html = project_a.tools.htmlgen',
  • # more script entry points ...
  • ],
  • }
  • )
  • 或者被其他project依賴:install_requires = ["Project-A[PDF]"]

    插件式開發

    我想大家最熟悉的就是這個特性了吧。比如一個博客系統想用不同的插件支持不同的語言輸出格式,那么就可以定義一個“entry point group”,不同的插件就可以注冊“entry point”,插件注冊的示例:

  • setup(
  • # ...
  • entry_points = {'blogtool.parsers': ['.rst = some_module:a_func']}
  • )
  • # 或者
  • setup(
  • # ...
  • entry_points = """
  • [blogtool.parsers]
  • .rst = some.nested.module:SomeClass.some_classmethod [reST]
  • """,
  • extras_require = dict(reST = "Docutils>=0.3.5")
  • )
  • Setuptools中的dependency_links

    Setuptools有一個功能叫做 dependency_links

    from setuptools import setup

  • setup(
  • # ...
  • dependency_links = [
  • "http://packages.example.com/snapshots/",
  • "http://example2.com/p/bar-1.0.tar.gz",
  • ],
  • )
  • 這一功能除去了依賴的抽象特性,直接把依賴的獲取url標在了setup.py里。就像在Go語言中修改依賴包一樣,我們只需要修改依賴鏈中每個包的 dependency_links 。

    管理依賴

    我們寫依賴聲明的時候需要在 setup.py 中寫好抽象依賴(install_requires),在 requirements.txt 中寫好具體的依賴,但是我們并不想維護兩份依賴文件,這樣會讓我們很難做好同步。 requirements.txt 可以更好地處理這種情況,我們可以在有 setup.py 的目錄里寫下一個這樣的 requirements.txt

  • --index https://pypi.python.org/simple/
  • -e .
  • 這樣 pip install -r requirements.txt 可以照常工作,它會先安裝該文件路徑下的包,然后繼續開始解析抽象依賴,結合 --index 選項后轉換為具體依賴然后再安裝他們。

    這個辦法可以讓我們解決一種類似這樣的情形:比如你有兩個或兩個以上的包在一起開發但是是分開發行的,或者說你有一個尚未發布的包并把它分成了幾個部分。如果你的頂層的包 依然僅僅按照“名字”來依賴的話,我們依然可以使用 requirements.txt 來安裝開發版本的依賴包:

  • --index https://pypi.python.org/simple/
  • -e https://github.com/foo/bar.git#egg=bar
  • -e .
  • 這會首先從 https://github.com/foo/bar.Git?來安裝包 bar , 然后進行到第二行 -e . ,開始安裝 setup 中的抽象依賴,但是包 bar 已經安裝過了, 所以 pip 會跳過安裝。

    Differences between distribute, distutils, setuptools and distutils2

    Distutils?is the standard tool used for packaging. It works rather well for simple needs, but is limited and not trivial to extend.

    Setuptools?is a project born from the desire to fill missing distutils functionality and explore new directions. In some subcommunities, it’s a de facto standard. It uses monkey-patching and magic that is frowned upon by Python core developers.

    Distribute?is a fork of Setuptools that was started by developers feeling that its development pace was too slow and that it was not possible to evolve it. Its development was considerably slowed when distutils2 was started by the same group. 2013-August update: distribute is merged back into setuptools and discontinued.

    Distutils2?is a new distutils library, started as a fork of the distutils codebase, with good ideas taken from setup tools (of which some were thoroughly discussed in PEPs), and a basic installer inspired by pip. The actual name you use to import Distutils2 is packaging in the Python 3.3+ standard library, or distutils2 in 2.4+ and 3.1–3.2. (A backport will be available soon.) Distutils2 did not make the Python 3.3 release, and it was put on hold.

    PBR

    pbr是setuptools的輔助工具,最初是為OpenStack開發(https://launchpad.NET/pbr),基于d2to1。

    A library for managing setuptools packaging needs in a consistent manner.

    pbr會讀取和過濾setup.cfg中的數據,然后將解析后的數據提供給setup.py作為參數。包含如下功能:
    1、從git中獲取Version、AUTHORS and ChangeLog信息
    2、Sphinx Autodoc。pbr會掃描project,找到所有模塊,生成stub files
    3、Requirements。pbr會讀取requirements.txt,生成setup函數需要的install_requires/tests_require/dependency_links

    這里需要注意,在requirements.txt文件的頭部可以使用:--index https://pypi.python.org/simple/,這一行把一個抽象的依賴聲明如 requests==1.2.0 轉變為一個具體的依賴聲明 requests 1.2.0 from pypi.python.org/simple/

    4、long_description。從README.rst, README.txt or README file中生成long_description參數

    使用pbr很簡單:

  • from setuptools import setup
  • setup(
  • setup_requires=['pbr'],
  • pbr=True,
  • )
  • 使用pbr時,setup.cfg中有一些配置。在[files]中,有三個key:
    packages:指定需要包含的包,行為類似于setuptools.find_packages
    namespace_packages:指定namespace packages
    data_files: 指定目的目錄和源文件路徑,一個示例:

  • [files]
  • data_files =
  • etc/pbr = etc/pbr/*
  • etc/neutron =
  • etc/api-paste.ini
  • etc/dhcp-agent.ini
  • etc/init.d = neutron.init
  • [entry_points]段跟setuptools的方式相同。

    Babel

    A collection of tools for internationalizing Python applications

    Babel是 Python 的一個國際化工具包,提供了對distutils或setuptools的支持,包含一些命令。

    1、compile_catalog
    類似于msgfmt工具,takes a message catalog from a PO file and compiles it to a binary MO file.

  • $ ./setup.py compile_catalog --directory foobar/locale --locale pt_BR
  • running compile_catalog
  • compiling catalog to foobar/locale/pt_BR/LC_MESSAGES/messages.mo
  • 2、extract_messages
    類似于xgettext,it can extract localizable messages from a variety of difference source files, and generate a PO (portable object) template file from the collected messages.

  • $ ./setup.py extract_messages --output-file foobar/locale/messages.pot
  • running extract_messages
  • extracting messages from foobar/__init__.py
  • extracting messages from foobar/core.py
  • ...
  • writing PO template file to foobar/locale/messages.pot
  • 3、update_catalog
    類似于msgmerge,it updates an existing translations catalog based on a PO template file (POT).

    setup.py和pip

    表面上,python setup.py install和pip install都是用來安裝python包的,實際上,pip提供了更多的特性,更易于使用。體現在以下幾個方面:

    • pip會自動下載依賴,而如果使用setup.py,則需要手動搜索和下載;
    • pip會自動管理包的信息,使卸載/更新更加方便和容易,使用pip uninstall即可。而使用setup.py,必須手動刪除,有時容易出錯。
    • pip提供了對virtualenv更好的整合。

    結語

    OK,講了這么多瑣碎的東西,現在去看看Nova或Ceilometer的setup腳本,是不是一下清晰了很多?!但說實話,setup.py的使用,我還不能講的特別清楚,需要在后續的實戰中學習。

    總結

    以上是生活随笔為你收集整理的python setup脚本编写的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    美女视频久久久 | 久久国产精品一二三区 | 黄色在线免费观看网址 | 久久久精品 一区二区三区 国产99视频在线观看 | 免费看一级片 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 色天天 | 狠狠色狠狠色综合系列 | 亚洲视频资源在线 | 青青河边草免费直播 | 久久久久久久久久网站 | 一级免费黄色 | 国产亚洲91 | 亚洲天堂网视频 | 韩国中文三级 | 久久久久久久久久免费 | 成人av在线网 | 青青草在久久免费久久免费 | av网站地址| 综合国产视频 | 婷婷丁香av | 国产精品高清在线 | 亚洲欧洲日韩在线观看 | 国产精品成人久久久 | 免费日韩视 | 亚洲精区二区三区四区麻豆 | 五月婷婷久草 | 极品久久久久久久 | 涩涩网站免费 | www.久草视频| 精品国产成人在线影院 | 亚洲一区视频免费观看 | 六月丁香久久 | 在线观看精品黄av片免费 | 国产综合婷婷 | 久久中文网 | 国产黄色免费观看 | av电影在线观看完整版一区二区 | 在线播放你懂 | 成人av免费在线 | av电影中文字幕 | 99热精品在线观看 | 又黄又爽又湿又无遮挡的在线视频 | 免费看一级黄色大全 | 91精品国产乱码久久 | av久久在线 | www.eeuss影院av撸 | 久久国语露脸国产精品电影 | 国产精品毛片一区二区 | 成年人电影免费在线观看 | 国产日韩欧美精品在线观看 | 91av视频播放| 伊人天天操 | 精品国产一区二区三区久久影院 | 欧美日韩成人 | 婷婷亚洲激情 | 国产一区电影在线观看 | 亚洲涩涩色 | 最新精品视频在线 | 综合网在线视频 | 女人18毛片a级毛片一区二区 | 婷婷中文在线 | 婷婷精品在线 | 91在线免费播放 | 国产精品大尺度 | 视频一区二区在线观看 | 精品福利在线 | 精品少妇一区二区三区在线 | 干干操操 | 91成人黄色 | 2023年中文无字幕文字 | 久久久精品一区二区三区 | 福利一区视频 | 免费99视频 | 97精品超碰一区二区三区 | 三日本三级少妇三级99 | 2019天天干夜夜操 | 激情综合亚洲精品 | 国产精品永久免费 | 18久久久久久 | 九九热re | 日韩三级久久 | 久久日本视频 | 精品免费久久久久 | 狠狠躁夜夜躁人人爽超碰91 | 欧美精品久久久久久 | 国产精品久久久久久久久大全 | 97视频在线观看播放 | 久久久99精品免费观看乱色 | 播五月婷婷 | 久久久久成人精品 | 亚洲综合色丁香婷婷六月图片 | 在线观看深夜视频 | 国产亚洲欧洲 | 成人av网址大全 | 亚洲黄色免费网站 | 在线国产欧美 | 亚洲特级毛片 | 夜夜高潮夜夜爽国产伦精品 | 日韩国产精品久久 | 欧美日韩另类在线 | 永久免费看av | 中文字幕在线观看免费 | 久久精品7| 99精品区 | 涩涩网站在线播放 | 中文字幕中文字幕在线中文字幕三区 | 91精品国产乱码 | 久久九九网站 | 日韩欧美国产激情在线播放 | 免费黄色特级片 | 欧美另类z0zx | 天天色天天射天天干 | 日韩三级免费观看 | 成人久久18免费网站麻豆 | 中国一级片免费看 | 国内精品久久久久久久影视简单 | 成人黄色小说在线观看 | 伊人干综合 | 国产精品久久片 | 1024在线看片 | 精品一区二区在线观看 | 久久久综合色 | 久久综合色婷婷 | 中文字幕av网站 | 久久视精品 | 最近免费中文字幕mv在线视频3 | 91亚色视频 | 亚洲精品久久激情国产片 | 亚洲精品国偷拍自产在线观看蜜桃 | 免费看片网站91 | 91探花国产综合在线精品 | 96精品高清视频在线观看软件特色 | 91精品久久久久久久久久久久久 | 色婷婷综合成人av | 日韩日韩日韩日韩 | 91看片淫黄大片一级在线观看 | 久久,天天综合 | 亚洲综合网站在线观看 | 亚洲丁香久久久 | 久草在线视频免赞 | 午夜视频在线观看网站 | 91av超碰| 国产一级在线播放 | 波多野结衣小视频 | 精品久久免费 | 少妇精品久久久一区二区免费 | 日韩精品视频免费 | 中文字幕黄色网 | 超碰在线日韩 | 国产色女人 | 开心色激情网 | 亚洲精品在线资源 | 久久久免费在线观看 | 天天综合成人网 | 草久中文字幕 | 日日夜夜天天 | 99久久精品国产毛片 | 久久资源在线 | www.亚洲在线| 黄在线免费看 | 四虎天堂 | 91在线观看视频网站 | 九九热在线视频 | 五月天久久综合网 | 五月天视频网站 | 久久毛片视频 | 99久久网站 | 亚洲一级片在线观看 | 欧美日韩视频网站 | 伊人久操 | 欧美日韩视频在线观看一区二区 | 在线亚洲午夜片av大片 | 91免费的视频在线播放 | 久久艹国产视频 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | a在线免费 | 黄色午夜网站 | 国产精品久久久久一区二区国产 | 国产精品一区二区三区观看 | 欧美一二三在线 | 九九三级毛片 | 亚洲精品乱码久久久久久高潮 | 亚洲电影久久久 | 九九导航 | 国产麻豆剧果冻传媒视频播放量 | 日日干日日 | 日本三级不卡视频 | 中文字幕av在线电影 | 色国产精品一区在线观看 | 激情欧美xxxx | 国产主播大尺度精品福利免费 | 久久中文字幕视频 | 久久国产欧美日韩 | 婷婷九月激情 | 国产精品婷婷午夜在线观看 | 日本公妇在线观看高清 | 日韩免费av在线 | 久久资源在线 | 国产在线视频导航 | 国产在线精品一区二区三区 | 粉嫩av一区二区三区四区 | 日韩激情影院 | 最近中文字幕国语免费高清6 | 久久综合99| 成人一区二区在线观看 | 久久午夜免费视频 | 成人国产电影在线观看 | 成人av资源网 | 一区二区三区不卡在线 | 99国产精品视频免费观看一公开 | 玖玖视频精品 | 国产精美视频 | 欧美与欧洲交xxxx免费观看 | 人人干天天射 | 国产婷婷vvvv激情久 | 国产精品com| 九九热.com | 欧美日韩精品综合 | 91福利免费| 日韩欧美网址 | 超碰在线99 | 午夜美女福利 | 91片在线观看 | 亚洲高清视频在线播放 | 在线观看黄色av | 欧美精彩视频在线观看 | 国产丝袜在线 | 91精品国产91久久久久 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 91精品国产综合久久久久久久 | 久久69精品 | 欧美精品中文在线免费观看 | 久草在线免 | 亚洲日b视频| 天天插天天操天天干 | 国产婷婷vvvv激情久 | 91麻豆国产福利在线观看 | 一区二区欧美日韩 | 久久手机精品视频 | 日韩欧美亚洲 | 午夜99| 久久五月婷婷丁香 | 激情五月婷婷丁香 | 国产小视频精品 | 欧美视频日韩视频 | 日韩中文久久 | 免费久久99精品国产婷婷六月 | 日日日日 | 最近日本mv字幕免费观看 | 国产一区二区在线观看免费 | 黄色电影小说 | 99久久婷婷国产精品综合 | 久久国产精品免费一区 | 六月婷操| 99国产一区二区三精品乱码 | 欧美成人黄色片 | 在线观看网站你懂的 | 精品视频 | 色综合久久88色综合天天 | 国产日韩高清在线 | 国产日韩精品一区二区在线观看播放 | a在线观看视频 | 欧美一进一出抽搐大尺度视频 | 日本精品久久久一区二区三区 | 久久久资源 | 久久成人综合视频 | 视频91 | 日韩精品欧美专区 | 国产精品大片在线观看 | av解说在线观看 | www五月天 | 国产黑丝一区二区 | 欧美亚洲成人xxx | 久久成人精品电影 | 亚洲国产欧美在线人成大黄瓜 | 日韩成人精品一区二区三区 | 亚洲一级在线观看 | 美女网站视频久久 | 综合色站导航 | 亚洲在线激情 | 超碰97免费 | 天天操天天射天天添 | 超碰免费久久 | 深夜免费小视频 | 久久超碰99| 三级黄色在线 | 欧美人zozo| 久久成人国产精品一区二区 | 久久免费视频在线 | 91精品综合在线观看 | 日韩精品2区| 18岁免费看片 | 日韩一区二区三区视频在线 | 91精品国自产在线偷拍蜜桃 | 黄网站色视频 | 国产精品理论视频 | 特级xxxxx欧美 | 亚洲一区二区麻豆 | 亚洲视频www| 亚洲国产午夜 | 久久久精品国产免费观看一区二区 | 精品欧美乱码久久久久久 | 欧美日韩国产区 | 国产精品18毛片一区二区 | 欧美亚洲国产精品久久高清浪潮 | 九九视频热| 成人精品在线 | 91麻豆高清视频 | 日韩三级视频在线看 | 日韩黄色软件 | 成年人免费观看在线视频 | 午夜 久久 tv| 亚洲婷婷综合色高清在线 | www日韩视频 | 精品在线观看一区二区三区 | 一级片观看 | 日韩视频免费 | 亚洲3级 | 91精品一区二区在线观看 | 国产精品久久久精品 | 国内成人综合 | 久久在线观看视频 | 黄污视频大全 | 狠狠色综合网站久久久久久久 | 久久综合亚洲鲁鲁五月久久 | 色综合久久久网 | 午夜久草 | 久久久久久毛片精品免费不卡 | 婷婷六月丁香激情 | 久久艹免费 | 国产精品久久电影观看 | 在线观看91精品视频 | 一区二区中文字幕在线观看 | 国产精品免费久久久久 | 99精品国产高清在线观看 | 久久免费精品 | 综合久久婷婷 | 成人一区二区三区中文字幕 | 国产精品永久 | 亚洲激精日韩激精欧美精品 | 99久久精品无码一区二区毛片 | 精品女同一区二区三区在线观看 | 国产黄在线 | 天天艹 | 国产精品99久久久久久久久久久久 | a电影在线观看 | 精品在线观 | 在线国产视频 | 天堂在线视频免费观看 | 国内精品久久久久久久影视简单 | 91污污视频在线观看 | 欧美日韩视频在线观看一区二区 | 成人免费一区二区三区在线观看 | 精品国产成人 | 婷婷视频在线观看 | 91精品网站 | 永久免费毛片在线观看 | 日韩,精品电影 | 免费看污污视频的网站 | 中文在线| 在线免费观看视频a | 国产成人精品av在线 | 91中文在线观看 | 国产成人精品一二三区 | 久久不色| 国产精品18久久久久vr手机版特色 | 456成人精品影院 | av免费观看在线 | 日韩精品黄 | 一区二区不卡在线观看 | 五月天色中色 | 日韩一区二区三区在线看 | 天天天天天操 | 一区二区视频在线观看免费 | 麻豆影音先锋 | 国产精品wwwwww | 欧美激情第一页xxx 午夜性福利 | 99免费精品 | 日本mv大片欧洲mv大片 | 中文字幕制服丝袜av久久 | 精品在线观看一区二区 | 亚洲精品电影在线 | 免费看久久久 | 日本精品一区二区 | 中文字幕亚洲欧美 | 日韩成人免费观看 | 毛片网站免费在线观看 | 午夜免费电影院 | 婷婷精品视频 | 欧美另类亚洲 | 狠狠干天天射 | 久久高清免费观看 | 婷婷激情av | 国产成人精品一区二区三区福利 | 97色狠狠 | 久久久香蕉视频 | 1000部国产精品成人观看 | 97超碰在线人人 | 欧美午夜寂寞影院 | av中文字幕av | 99国内精品 | 国产精品资源 | 久久婷婷亚洲 | 日本一区二区三区视频在线播放 | 国产福利小视频在线 | 国产黄| avwww在线观看 | 狠狠操狠狠干天天操 | 狠狠色丁香婷婷综合久小说久 | 久久伊人八月婷婷综合激情 | 日韩中文在线电影 | ,久久福利影视 | 精品字幕在线 | 亚洲精品国产精品国自产 | 日本久久精品 | 99热999| 国产精品成人自产拍在线观看 | 九七视频在线观看 | 中文字幕视频网 | 欧美日韩破处 | 综合网久久 | 91日韩精品视频 | 亚洲欧美日韩精品一区二区 | 欧洲精品视频一区 | 国产麻豆视频在线观看 | 日韩色在线 | 久久久www成人免费精品张筱雨 | 97精品国产97久久久久久 | 少妇按摩av | 精品一区在线看 | 91在线国内视频 | 国内精品久久久久久久久久久 | 久草在线久草在线2 | 欧美精品一区二区免费 | 中文字幕一区二区在线观看 | 天天爱天天爽 | 视频1区2区| 国产精品久久久久久高潮 | 操操爽| 色先锋av资源中文字幕 | 亚洲精品9| 国产精品麻豆欧美日韩ww | 国产在线精品二区 | 日韩va欧美va亚洲va久久 | 国产在线资源 | 天堂av中文字幕 | 日韩午夜av | 国产精品自产拍在线观看桃花 | 久操视频在线观看 | 网站免费黄色 | 久久超碰网 | 国产免费a | 九九视频网站 | 欧美日韩一区二区三区免费视频 | 岛国av在线| 深夜免费福利在线 | 97人人澡人人爽人人模亚洲 | 黄色成品视频 | 黄污视频大全 | a√天堂资源 | 国产精品网站一区二区三区 | 精品视频在线看 | 五月天婷婷免费视频 | 天天色天天 | 怡红院av久久久久久久 | 国产中文字幕视频在线 | 久久免费黄色大片 | 日本中文字幕影院 | 亚洲成 人精品 | 在线视频亚洲 | 国产一区二区精品在线 | 久99精品| 亚洲一区二区三区精品在线观看 | 日韩小视频网站 | 日韩av不卡播放 | 亚洲视频一区二区三区在线观看 | 亚洲闷骚少妇在线观看网站 | 久久激情视频免费观看 | 国产成人久久 | 91九色免费视频 | 亚州av成人 | 中文字幕在线观看一区二区三区 | 亚洲成人黄色av | 久久黄页| 看污网站| 2018好看的中文在线观看 | 久久精品爱视频 | 国产视频一区精品 | 国产亚洲日| va视频在线观看 | 欧美韩日在线 | 久久精品99精品国产香蕉 | 中文字幕在线观看第一页 | 色全色在线资源网 | 免费看亚洲毛片 | 色吊丝在线永久观看最新版本 | 日韩理论片 | 69av视频在线观看 | 一本一道久久a久久精品蜜桃 | 日韩 精品 一区 国产 麻豆 | 亚洲成人精品久久久 | www.久久91| 亚洲成人午夜av | 六月丁香在线观看 | 国产激情电影综合在线看 | 韩国在线一区 | 国产91在线 | 美洲 | 日韩最新av在线 | 成人三级黄色 | 天天鲁一鲁摸一摸爽一爽 | 六月丁香激情综合 | 国产乱码精品一区二区三区介绍 | 久久婷婷亚洲 | 在线观看午夜 | 五月婷婷操 | 91最新地址永久入口 | 午夜免费视频网站 | 亚洲精品黄网站 | 成人国产精品久久久春色 | 91最新地址永久入口 | 亚洲欧美视频在线 | 久久久久国产视频 | 97国产超碰在线 | 深爱激情五月婷婷 | 国产精品99爱 | 狠狠网亚洲精品 | 91精品国产一区二区三区 | 2019久久精品| 色偷偷88888欧美精品久久 | 日韩中文字幕在线不卡 | 69av在线播放 | 在线观看一区视频 | 久久精品五月 | 国产精品精品国产色婷婷 | 久久精品中文字幕少妇 | 国产精品v欧美精品v日韩 | 久久极品 | 人人添人人澡人人澡人人人爽 | 久章操 | 天天做日日爱夜夜爽 | 91精品国产乱码在线观看 | 狠狠色丁香婷婷综合视频 | 98超碰在线 | av永久网址| 日韩精品一区二区三区高清免费 | 国产成人av免费在线观看 | 午夜91在线| 狠狠狠狠狠狠天天爱 | 色亚洲激情| 99久久99久久精品国产片果冰 | 正在播放一区 | 成年在线观看 | 国产中文在线观看 | 欧洲亚洲女同hd | 麻豆免费观看视频 | 欧美色图视频一区 | 欧美性视频网站 | 国产午夜免费视频 | 日本久久久久久久久久久 | 色天天天| 最新国产在线视频 | 成人avav| 亚洲精品在线免费观看视频 | 午夜国产一区二区 | 久久综合久久综合久久 | 日韩在线免费高清视频 | 亚洲精品黄网站 | 97国产在线观看 | 午夜av激情 | 欧美性色综合 | 九九国产精品视频 | av电影在线播放 | 国产真实精品久久二三区 | 最近中文字幕 | 亚洲视频 视频在线 | 国产精品一区二区三区在线 | 亚洲激情精品 | 国产伦理精品一区二区 | 在线亚洲日本 | 亚洲天堂网在线视频观看 | 亚洲视频免费在线看 | 九九热在线视频免费观看 | 国产99re | 天堂av高清| 国产精品嫩草影院99网站 | 黄色在线观看免费网站 | 久久综合成人网 | 久久视频国产精品免费视频在线 | 国产一区高清在线 | 西西人体4444www高清视频 | av天天在线观看 | 天天翘av| 国产精品你懂的在线观看 | 911久久香蕉国产线看观看 | 日韩精品久久一区二区三区 | 日韩免费高清 | 久久视频免费 | 色婷婷免费视频 | 美女免费视频网站 | 国产欧美最新羞羞视频在线观看 | 国产一区在线视频观看 | 国产精品视频在线观看 | 在线国产能看的 | 黄色国产高清 | 天天干夜夜擦 | 婷婷精品国产一区二区三区日韩 | 亚洲 欧美日韩 国产 中文 | 午夜在线观看影院 | 亚洲中字幕 | 国产精品精品 | 一区 二区电影免费在线观看 | 韩国av永久免费 | 精品福利网站 | 久久tv| 国产精品午夜久久久久久99热 | 国产精品福利午夜在线观看 | 婷婷色在线| 免费观看久久久 | 国产精品入口传媒 | 国内精品久久久久国产 | 免费精品在线视频 | 国产精品自在线拍国产 | 免费在线观看成人小视频 | 麻豆久久久久久久 | 在线观看91精品国产网站 | 在线有码中文 | 天天操人人干 | 色诱亚洲精品久久久久久 | 国产视频在线免费 | 欧美日韩视频观看 | 国产91勾搭技师精品 | 91插插视频 | 亚洲一区二区三区毛片 | 亚洲精品国产视频 | 免费网站污 | 韩国精品福利一区二区三区 | 成人在线免费观看视视频 | 麻豆一精品传二传媒短视频 | 91在线看视频免费 | 一级一片免费视频 | 欧美在线不卡一区 | 亚洲综合在线五月天 | www日日夜夜| 久久精美视频 | 岛国大片免费视频 | 在线观看日本高清mv视频 | 精品国产免费看 | 国产免费观看av | 欧美激情片在线观看 | 国产999精品视频 | 狠狠干美女 | 黄色网址中文字幕 | 成人小视频在线 | 亚洲精品久久久蜜桃 | 中文字幕资源在线 | 97看片吧 | 色干干| 欧美精品久久久久久久亚洲调教 | 色网站在线免费观看 | 久久在线免费观看视频 | 免费在线成人av | 视频 天天草 | 顶级bbw搡bbbb搡bbbb | 久久天堂精品视频 | 91精品国产一区二区在线观看 | 国产精品国产三级国产不产一地 | 日韩经典一区二区三区 | 久久久久综合精品福利啪啪 | 欧美精品v国产精品 | 在线之家免费在线观看电影 | 中文字幕在线一二 | 在线观看成人网 | 午夜18视频在线观看 | 久草网视频 | 成人免费观看完整版电影 | 久久在线免费 | 激情视频在线高清看 | 国产亚洲欧美精品久久久久久 | 五月婷在线播放 | 超碰97在线看 | 久久国产系列 | 亚洲永久字幕 | 激情图片qvod| 999久久久久 | 一区二区三区中文字幕在线观看 | 黄色毛片视频免费 | 97精品国产手机 | 另类五月激情 | 久久久精品视频网站 | 亚洲国产成人精品在线 | 国产精品粉嫩 | 婷婷在线播放 | 精品国产电影一区二区 | 国内精品久久久久影院优 | 99爱这里只有精品 | 日本黄色免费播放 | 日韩久久影院 | 国产乱对白刺激视频在线观看女王 | 粉嫩av一区二区三区四区在线观看 | 国产在线探花 | 丁香九月激情 | 在线视频18在线视频4k | 亚洲精品乱码久久久久久蜜桃动漫 | 免费中文字幕 | 韩国av一区二区三区在线观看 | 日本久久成人中文字幕电影 | 91亚洲精品久久久蜜桃借种 | 欧美另类tv | 99精品一区二区三区 | 欧美人体xx| 国产亚洲在线 | 怡红院av | 午夜国产福利在线 | 色婷婷综合久久久久 | 黄色午夜网站 | 久久免费在线观看视频 | 久草免费看| 亚一亚二国产专区 | 亚洲爽爽网 | 在线观看日韩免费视频 | 成人v| 在线电影中文字幕 | 欧美污污视频 | 色吊丝在线永久观看最新版本 | 欧美日韩三区二区 | 一区二区高清在线 | 精品国产久 | 人人玩人人爽 | 国产日韩中文字幕在线 | 免费h精品视频在线播放 | 日本三级久久久 | 久久久精品视频网站 | 午夜电影久久 | 人人爽人人爽人人片av | 国产精品去看片 | 日韩一级成人av | 久久爱影视i | 国产成人久久久77777 | 97色婷婷成人综合在线观看 | 九九影视理伦片 | 国产最顶级的黄色片在线免费观看 | 日日天天狠狠 | a久久免费视频 | 精品国产99国产精品 | 六月丁香激情综合 | 91九色自拍 | 久久人人爽视频 | 欧美日韩国产页 | 中文字幕在线看 | 成人免费在线网 | 国产成人精品一区二区三区在线 | 中文字幕久久精品一区 | 国产97在线观看 | 中文字幕日韩国产 | 欧美一级片免费观看 | 国产一级片毛片 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 国产精品扒开做爽爽的视频 | 国产乱老熟视频网88av | 欧美精品亚洲精品日韩精品 | 亚洲一级免费观看 | 中文字幕在线看片 | 在线观看国产亚洲 | 午夜在线日韩 | 欧美高清成人 | 中文字幕乱在线伦视频中文字幕乱码在线 | 久久久精品久久日韩一区综合 | 亚洲精品小视频在线观看 | 夜夜躁日日躁狠狠躁 | 欧美精品资源 | 国产精品中文字幕av | 国产在线精品视频 | 在线观看av大片 | 久久久久久久久久久精 | 在线观看日韩av | 久香蕉| 久久精品日本啪啪涩涩 | 午夜av不卡 | 国产精品乱码久久久久久1区2区 | 最新av电影网址 | 亚洲理论片 | 欧美a级免费视频 | 亚洲精品在线电影 | 国产精品无av码在线观看 | 天天操天天爱天天干 | 人人澡超碰碰97碰碰碰软件 | 国内精品免费久久影院 | 日韩极品在线 | 亚洲成人精品影院 | 精品视频网站 | 欧美日性视频 | a在线观看视频 | 欧美精品久久久久a | 99精品在线免费在线观看 | 亚洲精品一区二区三区新线路 | 亚洲一级黄色大片 | 国产午夜激情视频 | 伊人成人精品 | 国产黄色理论片 | 国产黄色一级片在线 | 亚洲在线视频观看 | 99r在线观看| 日本aaaa级毛片在线看 | 精品高清美女精品国产区 | 亚洲一区二区精品视频 | 色视频网址 | 免费在线色 | 色av色av色av| 麻豆高清免费国产一区 | 精品国产中文字幕 | 韩国av永久免费 | 九九九九热精品免费视频点播观看 | 黄色视屏在线免费观看 | 国产午夜亚洲精品 | 91自拍成人 | 国产一区二区精品91 | 国产高清视频在线观看 | 很黄很色很污的网站 | 免费av观看网站 | 黄色1级大片 | 国产精品av在线 | 天天操月月操 | 在线观看mv的中文字幕网站 | 99热这里只有精品8 久久综合毛片 | 日本中文字幕视频 | 午夜久久影院 | 亚洲欧洲在线视频 | 99视频精品在线 | 韩国av免费看 | 91插插视频| 视频在线99| 99精品热视频 | 亚洲成a人片在线www | 国产成人一区二区三区 | 在线 成人| 欧美精品久久久久久久 | 国产乱码精品一区二区蜜臀 | 欧美日韩国产精品久久 | 在线观看视频h | 免费又黄又爽 | 成人一级| 久久黄色网| 色噜噜在线观看视频 | 中文字幕在线日本 | 手机在线免费av | 91资源在线免费观看 | 天天激情在线 | 亚在线播放中文视频 | 亚洲一区二区精品3399 | 97超碰人人澡 | av最新资源 | av日韩不卡 | 婷婷亚洲五月 | 水蜜桃亚洲一二三四在线 | 成人黄色大片在线免费观看 | 国产色婷婷 | 九九久久影视 | 亚洲精品一区二区18漫画 | 99久久婷婷国产综合精品 | 91麻豆精品国产91久久久无需广告 | 亚洲精品中文字幕在线观看 | 五月宗合网 | 色婷婷激情综合 | 久久丁香网| 毛片888| 在线看片中文字幕 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 国产中文在线播放 | 国产成人av免费在线观看 | 日狠狠| 97在线视频观看 | 亚洲国产97在线精品一区 | 综合网久久 | 麻豆免费在线播放 | 在线中文字幕一区二区 | 福利区在线观看 | 五月婷久 | 亚洲国产三级在线 | 日日麻批40分钟视频免费观看 | 蜜臀久久99精品久久久无需会员 | 天堂网在线视频 | 日韩美女免费线视频 | 人人爱人人做人人爽 | 91精品91| 久久99国产精品自在自在app | 国产亚洲欧美精品久久久久久 | 日韩免费福利 | 久产久精国产品 | 午夜精品久久久久99热app | 精品一区91 | 国产又黄又爽又猛视频日本 | 成人免费在线观看av | 在线看国产| 日韩在线视频看看 | 在线黄色国产 | 国产精品久久久久久久99 | 国产成人av网 | 最近在线中文字幕 | 国产在线观看高清视频 | 色婷婷亚洲精品 | 99热在线国产精品 | 五月天六月色 | 92中文资源在线 | 欧美日韩一区二区在线观看 | 久久激情视频 | www蜜桃视频| 黄色片软件网站 | 最新av在线网站 | 在线观看成人国产 | 亚洲精品午夜aaa久久久 | 一区二区三区手机在线观看 | 一区二区视 | 亚洲成人黄色av | 国内久久久| 午夜精品一区二区三区在线观看 | 五月天国产精品 | 91免费高清 | 中文字幕 国产精品 | 十八岁免进欧美 | 免费观看日韩 | 青青色影院 | 成人免费色 | av成人动漫在线观看 | av黄色影院 | av一级久久 | 在线天堂中文在线资源网 | 成人看片| 婷婷午夜天 | 在线国产一区二区三区 | 色资源中文字幕 | 精油按摩av | 久久a免费视频 | 婷婷丁香视频 | 九色福利视频 | 国产精品久久久久久av | 天天激情在线 | 操操日 | 久久精品这里都是精品 | 婷婷激情影院 | 国产一区麻豆 | 国产精品久久一区二区三区不卡 | 91亚洲综合| 成人污视频在线观看 | 亚洲综合小说 | 狠狠插天天干 | av成人在线观看 | 在线99| 国产一区二区三区高清播放 | 日日麻批40分钟视频免费观看 | 黄色精品视频 | 中文字幕久久久精品 | 国产免码va在线观看免费 | 免费不卡中文字幕视频 | 7777精品伊人久久久大香线蕉 | .国产精品成人自产拍在线观看6 | 91精品办公室少妇高潮对白 | 五月激情久久 | 香蕉视频在线免费 | 成人在线观看免费 | 综合久久久久久 | 精品一区二区在线观看 | 免费在线看v | 九九99靖品 | 91视频 - 88av| 一本一本久久a久久精品综合小说 | 精品视频资源站 | 欧美日韩一区二区三区在线观看视频 | 日韩.com| 国产丝袜一区二区三区 | 韩国一区在线 | 日韩av电影中文字幕在线观看 | 精品视频 | 亚洲 成人 欧美 | 国产精品 日韩 欧美 | 久久成人国产精品一区二区 | 蜜臀久久99精品久久久酒店新书 | 在线观看国产福利片 | 天天拍天天操 | 不卡的av片 | 97超级碰碰碰视频在线观看 | 久久久精品国产一区二区三区 | 99久久国产免费看 | 免费黄色av | 国产精品永久免费在线 | 一区在线免费观看 | 色综合久久久久网 | 欧美视频日韩视频 | 久草视频精品 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 国产一区二区久久 | 久久不射网站 | 国产精品国产三级国产专区53 | 丁香综合网 | 日韩毛片在线免费观看 | 精品亚洲欧美一区 | 五月婷婷综合在线观看 | 在线最新av |