因此,我有一个旨在能够分发的项目,并且该项目依赖于其他一些可pip安装的模块。 setup.py
就是这样:
import setuptools
from rss_reader.rss_reader import VERSION
setuptools.setup(name='whatever',
version=VERSION[1:],
description='RSS-feed reader',
long_description='Pure Python command line RSS-feed reader ',
packages=setuptools.find_packages(),
classifiers=["Programming Language :: Python :: 3",
"Operating System :: OS Independent"],
python_requires='>=3.5',
entry_points={'console_scripts': ['rssreader=rss_reader.rss_reader:main']},
install_requires=['bs4',
'feedparser',
'html5lib',
'jsonpickle',
'requests'])
为了确保一切正常,我尝试将软件包安装在Docker容器中,并且pip install .
导致了ModuleNotFound Error
。通过手动安装依赖项,问题得以解决,因此我很确定install_requires
是问题所在。我到底在做什么错?
答案 0 :(得分:0)
因此,最终的答案是使用VERSION制作另一个文件并精确导入此变量。 rss_reader.rss_reader
看起来像这样:
...
from bs4 import BeautifulSoup
...
VERSION='v0.3'
...
因此,它会尝试在分配版本之前(因此在实际安装之前)导入BeautifulSoup