![](/img/trans.png)
[英]setup.py find_packages() not installing packages to anaconda environment
[英]setup.py installing local packages
如果我有一棵像這樣的樹:
├── project
│ ├── package
│ │ ├── __init__.py
│ │ ├── setup.py
├── env
└── setup.py
有沒有一種方法可以將嵌套的setup.py包含在頂部setup.py的安裝中? 我想避免這種情況:
pip install -e . ; cd project/package ; pip install -e .
解決方案是有兩個單獨的項目:一個主項目(通常是一個應用程序)和一個子項目(通常是一個庫)。 主應用程序對庫有依賴性。
setup.py
主項目可以具有以下結構:
your_app/
|-- setup.py
ˋ-- src/
ˋ-- your_app/
|-- __init__.py
|-- module1.py
ˋ-- ...
您的應用程序的setup.py
可以是:
from setuptools import find_packages
from setuptools import setup
setup(
name='Your-App',
version='0.1.0',
install_requires=['Your-Library'],
packages=find_packages('src'),
package_dir={'': 'src'},
url='https://github.com/your-name/your_app',
license='MIT',
author='Your NAME',
author_email='your@email.com',
description='Your main project'
)
您會注意到:
src
目錄中,但這是可選的。 很多項目都沒有。 子項目可以具有以下結構:
your_library/
|-- setup.py
ˋ-- src/
ˋ-- your_library/
|-- __init__.py
|-- lib1.py
ˋ-- ...
庫的setup
可以是:
from setuptools import find_packages
from setuptools import setup
setup(
name='Your-Library',
version='0.1.0',
packages=find_packages('src'),
package_dir={'': 'src'},
url='https://github.com/your-name/your_library',
license='MIT',
author='Your NAME',
author_email='your@email.com',
description='Your sub-project'
)
為您的應用程序創建一個virtualenv並激活它
進入your_library/
目錄並運行:
pip install -e .
然后,進入your_app/
目錄並運行:
pip install -e .
您現在可以編寫代碼了。 玩得開心!
請參閱《 Python漫游者指南 》:“構建項目”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.