簡體   English   中英

Python 使用 setup.py 手動將 package 安裝到虛擬環境

[英]Python manually install package to virtual environment with setup.py

我正在使用 Python 3.7 進行開發。

我正在嘗試編寫一個小型 Python package 並將其安裝到虛擬環境中進行測試。 該庫的結構如下:

my_package/
    src/
        my_package/
            __init__.py
            utilities.py
            some_data_files/
    setup.py
    README.md
    ...

當我創建虛擬環境並嘗試安裝時:

(env) C:\Users\path\to\my_package python setup.py install

output 是:

running install
running bdist_egg
running egg_info
writing my_package.egg-info\PKG-INFO
writing dependency_links to my_package.egg-info\dependency_links.txt
writing top-level names to my_package.egg-info\top_level.txt
reading manifest file 'my_package.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'my_package.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
warning: install_lib: 'build\lib' does not exist -- no Python modules to install

creating build\bdist.win-amd64\egg
creating build\bdist.win-amd64\egg\EGG-INFO
copying my_package.egg-info\PKG-INFO -> build\bdist.win-amd64\egg\EGG-INFO
copying my_package.egg-info\SOURCES.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying my_package.egg-info\dependency_links.txt -> build\bdist.win-amd64\egg\EGG-INFO
copying my_package.egg-info\top_level.txt -> build\bdist.win-amd64\egg\EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist\my_package-0.0.1-py3.7.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing my_package-0.0.1-py3.7.egg
Copying my_package-0.0.1-py3.7.egg to c:\users\jon\development\my_package_env\env\lib\site-p
ackages
Adding my_package 0.0.1 to easy-install.pth file

Installed c:\users\jon\development\my_package_env\env\lib\site-packages\my_package-0.0.1-py3
.7.egg
Processing dependencies for my_package==0.0.1
Finished processing dependencies for my_package==0.0.1

site-packages中有一個 egg 文件,但沒有包含my_package目錄中任何文件的目錄。 這是我第一次編寫 Python package 進行分發,我正在使用Python 文檔作為指南,但我不想在任何地方上傳和測試。 有人可以告訴我必須采取哪些步驟才能在虛擬環境中本地測試我的 package 嗎?

  • 使用以下命令創建項目的源代碼分發和構建分發:
    • (env) C:\Users\jon\development\my_package_env>python3 setup.py sdist
    • (env) C:\Users\jon\development\my_package_env>python3 setup.py bdist_wheel
  • 注意dist/目錄中新創建的兩個檔案
  • 嘗試在新的虛擬環境中安裝這些發行版:
    • C:\Users\jon\development\my_package_env>python3 -m venv sdist-env
    • C:\Users\jon\development\my_package_env>sdist-env\Scripts\activate.bat
    • (sdist-env) C:\Users\jon\development\my_package_env>pip install dist\my_package-0.0.1.tar.gz
    • (sdist-env) C:\Users\jon\development\my_package_env>deactivate
    • C:\Users\jon\development\my_package_env>python3 -m venv wheel-env
    • C:\Users\jon\development\my_package_env>wheel-env\Scripts\activate.bat
    • (wheel-env) C:\Users\jon\development\my_package_env>pip install dist\my_package-0.0.1-py3-none-any.whl

一旦您對此充滿信心,您可能希望查看tox以在多個虛擬環境中自動測試您的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM