[英]setup.py find_packages() not installing packages to anaconda environment
[英]Python setup.py: How to get find_packages() to identify packages in subdirectories
我正在嘗試創建一個 setup.py 文件,其中 find_packages() 遞歸地查找包。 在這個例子中, foo
、 bar
和baz
都是我想要安裝並在 python 路徑上可用的模塊。 例如,我希望能夠執行import foo, bar, baz
。 bar-pack
和foo-pack
只是常規的非 python 目錄,它們將包含各種支持文件/目錄(例如特定於相應模塊的測試、自述文件等)。
├── bar-pack
│ └── bar
│ └── __init__.py
├── baz
│ └── __init__.py
├── foo-pack
│ └── foo
│ └── __init__.py
├── setup.py
然后說setup.py如下:
from setuptools import setup, find_packages
setup(
name="mypackage",
version="0.1",
packages=find_packages(),
)
但是,當我運行python setup.py install
或python setup.py sdist
,只有baz
目錄被識別和打包。
我可以進一步簡化它,並運行以下命令,但同樣,只有baz
被識別。
python -c "from setuptools import setup, find_packages; print(find_packages())"
['baz']
您知道我如何擴展 find_packages() 的搜索路徑(或手動硬編碼搜索路徑)嗎?
任何幫助表示贊賞。
Setuptools 的find_packages
支持“where”關鍵字( docs ),並返回一個普通的舊列表。 你可以這樣使用:
from setuptools import setup, find_packages
setup(
...,
packages=find_packages()
+ find_packages(where="./bar-pack")
+ find_packages(where="./foo-pack"),
)
或者,您可以手動列出它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.