Hướng dẫn what is setup py in python? - thiết lập py trong python là gì?

Nó giúp cài đặt gói Python

$ python setup.py develop
1 trên máy của bạn [cũng có thể là trong
$ python setup.py develop
2] để bạn có thể nhập gói
$ python setup.py develop
1 từ các dự án khác và từ [i] Python nhắc nhở.

Nó thực hiện công việc tương tự của

$ python setup.py develop
4,
$ python setup.py develop
5, v.v.

Sử dụng

$ python setup.py develop
6

Hãy bắt đầu với một số định nghĩa:

Gói - một thư mục/thư mục chứa tệp

$ python setup.py develop
7. Mô -đun - Một tệp Python hợp lệ với tiện ích mở rộng
$ python setup.py develop
8. Phân phối - Cách một gói liên quan đến các gói và mô -đun khác.

Giả sử bạn muốn cài đặt một gói có tên

$ python setup.py develop
1. Sau đó, bạn làm,

$ git clone //github.com/user/foo
$ cd foo
$ python setup.py install

Thay vào đó, nếu bạn không muốn thực sự cài đặt nó nhưng vẫn muốn sử dụng nó. Sau đó làm,

$ python setup.py develop

Lệnh này sẽ tạo các liên kết symlink cho thư mục nguồn trong gói trang web thay vì sao chép mọi thứ. Bởi vì điều này, nó khá nhanh [đặc biệt đối với các gói lớn].

Tạo

$ python setup.py develop
6

Nếu bạn có cây gói của bạn như thế nào,

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
└── setup.py

Sau đó, bạn làm như sau trong tập lệnh

$ python setup.py develop
6 của mình để có thể cài đặt trên một số máy:
$ python setup.py develop
6
script so that it can be installed on some machine:

from setuptools import setup

setup[
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='',
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
]

Thay vào đó, nếu cây gói của bạn phức tạp hơn như cái dưới đây:

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
├── scripts
│   ├── cool
│   └── skype
└── setup.py

Sau đó,

$ python setup.py develop
6 của bạn trong trường hợp này sẽ giống như:
$ python setup.py develop
6
in this case would be like:

from setuptools import setup

setup[
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='',
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
]

Thêm nhiều thứ vào [

$ python setup.py develop
6] và làm cho nó khá: & make it decent:

from setuptools import setup

with open["README", 'r'] as f:
    long_description = f.read[]

setup[
   name='foo',
   version='1.0',
   description='A useful module',
   license="MIT",
   long_description=long_description,
   author='Man Foo',
   author_email='',
   url="//www.foopackage.example/",
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
   scripts=[
            'scripts/cool',
            'scripts/skype',
           ]
]

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
└── setup.py
4 được sử dụng trong pypi.org làm mô tả readme về gói của bạn.

Và cuối cùng, bây giờ bạn đã sẵn sàng để tải gói của mình lên pypi.org để những người khác có thể cài đặt gói của bạn bằng

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
└── setup.py
5.

Tại thời điểm này có hai lựa chọn.

  • Xuất bản trong máy chủ Test.pypi.org tạm thời để làm quen với quy trình này và sau đó xuất bản nó trên máy chủ pypi.org vĩnh viễn cho công chúng sử dụng gói của bạn.temporary test.pypi.org server to make oneself familiarize with the procedure, and then publish it on the permanent pypi.org server for the public to use your package.
  • Xuất bản ngay trên máy chủ pypi.org vĩnh viễn, nếu bạn đã quen với quy trình và có thông tin đăng nhập người dùng của bạn [ví dụ: tên người dùng, mật khẩu, tên gói]permanent pypi.org server, if you are already familiar with the procedure and have your user credentials [e.g., username, password, package name]

Khi tên gói của bạn được đăng ký trong pypi.org, không ai có thể yêu cầu hoặc sử dụng nó. Bao bì Python gợi ý gói Twine cho mục đích tải lên [gói của bạn lên PYPI]. Như vậy,twine package for uploading purposes [of your package to PyPi]. Thus,

  1. Bước đầu tiên là xây dựng các phân phối cục bộ bằng cách sử dụng:

    # prereq: wheel [pip install wheel]
    $ python setup.py sdist bdist_wheel
    
  2. Sau đó sử dụng

    foo
    ├── foo
    │   ├── data_struct.py
    │   ├── __init__.py
    │   └── internals.py
    ├── README
    ├── requirements.txt
    └── setup.py
    
    6 để tải lên
    foo
    ├── foo
    │   ├── data_struct.py
    │   ├── __init__.py
    │   └── internals.py
    ├── README
    ├── requirements.txt
    └── setup.py
    
    7 hoặc
    foo
    ├── foo
    │   ├── data_struct.py
    │   ├── __init__.py
    │   └── internals.py
    ├── README
    ├── requirements.txt
    └── setup.py
    
    8:

    $ twine upload --repository testpypi dist/*
    username: ***
    password: ***
    

Sẽ mất vài phút để gói xuất hiện trên

foo
├── foo
│   ├── data_struct.py
│   ├── __init__.py
│   └── internals.py
├── README
├── requirements.txt
└── setup.py
7. Khi bạn hài lòng với nó, sau đó bạn có thể tải gói của mình lên chỉ mục thực & vĩnh viễn của pypi.org chỉ bằng:

$ twine upload dist/*

Tùy chọn, bạn cũng có thể ký vào các tệp trong gói của mình với

from setuptools import setup

setup[
   name='foo',
   version='1.0',
   description='A useful module',
   author='Man Foo',
   author_email='',
   packages=['foo'],  #same as name
   install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
]
0 bằng cách:

$ python setup.py develop
0

Đọc tiền thưởng::

  • Xem mẫu

    $ python setup.py develop
    
    6 từ một dự án thực sự ở đây:
    from setuptools import setup
    
    setup[
       name='foo',
       version='1.0',
       description='A useful module',
       author='Man Foo',
       author_email='',
       packages=['foo'],  #same as name
       install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
    ]
    
    2
    $ python setup.py develop
    
    6
    from a real project here:
    from setuptools import setup
    
    setup[
       name='foo',
       version='1.0',
       description='A useful module',
       author='Man Foo',
       author_email='',
       packages=['foo'],  #same as name
       install_requires=['wheel', 'bar', 'greek'], #external packages as dependencies
    ]
    
    2

  • PEP 517, setuptools

  • Tại sao lại là Twine? Sử dụng Twine

Làm cách nào để chạy Python Cài đặt PY?

Để cài đặt gói bao gồm tệp setup.py, mở một cửa sổ lệnh hoặc thiết bị đầu cuối và: CD vào thư mục gốc nơi đặt setup.py. Nhập: Cài đặt python setup.py.cd into the root directory where setup.py is located. Enter: python setup.py install.

Cài đặt PY vẫn được sử dụng?

... Tính đến vài năm qua, tất cả các yêu cầu trực tiếp của setup.py được phản đối một cách hiệu quả để ủng hộ các yêu cầu thông qua các công cụ CLI được xây dựng có mục đích và/hoặc các tiêu chuẩn như PIP, Build và Tox. Như đã đề cập trong vấn đề này, các yêu cầu trực tiếp đã thiết lập.py đã được thực hiện một cách hiệu quả trong vài năm nay.all direct invocations of setup.py are effectively deprecated in favor of invocations via purpose-built and/or standards-based CLI tools like pip, build and tox. As mentioned in this issue, direct setup.py invocations have effectively been unmaintained for several years now.

__ init __ py là gì?

Các tệp __init__.py được yêu cầu để làm cho các thư mục xử lý Python chứa tệp dưới dạng các gói.Điều này ngăn các thư mục có tên chung, chẳng hạn như chuỗi, vô tình ẩn các mô -đun hợp lệ xảy ra sau đó trên đường dẫn tìm kiếm mô -đun.required to make Python treat directories containing the file as packages. This prevents directories with a common name, such as string , unintentionally hiding valid modules that occur later on the module search path.

CETUP CFG là gì và thiết lập là gì?

Setup.cfg là một tệp INI, chứa tùy chọn mặc định cho các lệnh setup.py.Bạn có thể chỉ định khá nhiều từ tất cả các từ khóa chúng tôi đã sử dụng trong tệp setup.py trong thiết lập mới.Tệp CFG và chỉ cần sử dụng tệp setup.py làm giao diện dòng lệnh. cfg is an ini file, containing option defaults for setup.py commands. You can pretty much specify every keyword we used in the setup.py file in the new setup. cfg file and simply use the setup.py file as the command line interface.

Bài Viết Liên Quan

Chủ Đề