<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 1. pip > 1. 再是使用pip安裝第三方包時,回去https://pypi.python.org/pypi (源)去搜索,如果找到就會下載那個相關庫對應的代碼和依賴,本地編譯完成以后,安裝到本地的python的安裝目錄(一般為($(python安裝目錄)\lib\site-packages))。 > 2. 如果想要自己的python項目可以被別人pip,可以去pypi上注冊賬號,然后發布自己的項目 > 3. 可以被pip的項目,要求有自己的setup.py文件,聲明軟件包的信息,該軟件包所需要的依賴包等 > 下面是scrapy在pypi上的信息 ![](https://box.kancloud.cn/7165e892249b7df30378c1e7d03fa7ce_1766x1010.png) ## 2. scrapy setup.py ~~~ from os.path import dirname, join from pkg_resources import parse_version from setuptools import setup, find_packages, __version__ as setuptools_version with open(join(dirname(__file__), 'scrapy/VERSION'), 'rb') as f: version = f.read().decode('ascii').strip() def has_environment_marker_platform_impl_support(): """Code extracted from 'pytest/setup.py' https://github.com/pytest-dev/pytest/blob/7538680c/setup.py#L31 The first known release to support environment marker with range operators it is 18.5, see: https://setuptools.readthedocs.io/en/latest/history.html#id235 """ return parse_version(setuptools_version) >= parse_version('18.5') extras_require = {} if has_environment_marker_platform_impl_support(): extras_require[':platform_python_implementation == "PyPy"'] = [ 'PyPyDispatcher>=2.1.0', ] ~~~ 構建設置: 最重要的是entry_points,指定了一個命令與函數的對應關系,在爬蟲的時候,使用scrapy 命令其實就是調用scrapy.cmdline的execute方法,對應setup的 ~~~ entry_points={ 'console_scripts': ['scrapy = scrapy.cmdline:execute'] }, ~~~ ~~~ setup( name='Scrapy', version=version, url='https://scrapy.org', # 可以設置為GitHub地址 description='A high-level Web Crawling and Web Scraping framework', long_description=open('README.rst').read(), author='Scrapy developers', maintainer='Pablo Hoffman', maintainer_email='pablo@pablohoffman.com', license='BSD', packages=find_packages(exclude=('tests', 'tests.*')), include_package_data=True, zip_safe=False, entry_points={ 'console_scripts': ['scrapy = scrapy.cmdline:execute'] }, ~~~ 這個參數是用來指定一個軟件包的分類、許可證、允許運行的操作系統、允許運行的Python的版本的信息。你可以在PyPI上找到完整的classifier值列表,地址:https://pypi.python.org/pypi?%3Aaction=list_classifiers 。 另外,你也可以通過setuptools的命令來獲取這個列表,在項目根目錄下執行:Python setup.py register --list-classifiers。 ~~~ classifiers=[ 'Framework :: Scrapy', 'Development Status :: 5 - Production/Stable', 'Environment :: Console', 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Internet :: WWW/HTTP', 'Topic :: Software Development :: Libraries :: Application Frameworks', 'Topic :: Software Development :: Libraries :: Python Modules', ], python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*', ~~~ ~~~ # 聲明scrapy所需依賴,pip install 時會進行自動下載安裝這些依賴 install_requires=[ 'Twisted>=13.1.0', 'w3lib>=1.17.0', 'queuelib', 'lxml', 'pyOpenSSL', 'cssselect>=0.9', 'six>=1.5.2', 'parsel>=1.4', 'PyDispatcher>=2.0.5', 'service_identity', ], extras_require=extras_require, ) ~~~ 爬蟲的開端,使爬蟲可運行
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看