我在TestPyPI中创建了一个私有软件包
该软件包已成功安装pip:
(base) my_user:Desktop$ python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps charter-common-utils==0.0.1
Looking in indexes: https://test.pypi.org/simple/
Requirement already satisfied: charter-common-utils==0.0.1 in /Users/my_id/opt/anaconda3/lib/python3.7/site-packages (0.0.1)
我在终端中启动python:
>>> import charter_common_utils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'charter_common_utils'
我已经阅读了有关python路径的问题,但这似乎不是问题,因为列出的最后一个路径是上面“已满足要求”中所指的路径:
(base) SR-C02XT71WJG5J:Desktop p2929612$ python3
Python 3.7.6 (default, Jan 8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/Users/my_id/opt/anaconda3/lib/python37.zip', '/Users/my_id/opt/anaconda3/lib/python3.7', '/Users/my_id/opt/anaconda3/lib/python3.7/lib-dynload', '/Users/my_id/.local/lib/python3.7/site-packages', '/Users/my_id/opt/anaconda3/lib/python3.7/site-packages']
当我关注时,/Users/my_id/opt/anaconda3/lib/python3.7/site-packages'
我可以看到该文件charter_common_utils-0.0.1.dist-info
为什么我不能导入软件包?任何帮助深表感谢。
您setup.py
列出了许多顶级软件包:
packages=['anomaly', 'batch_transform', 'hive_table_checker', 'metadata_io',
'parquet_converter', 'pyspark_visualizer'],
安装后,您可以导入anomaly
,parquet_converter
但不能导入charter_common_utils
;没有提到后者。要导入,charter_common_utils
您必须:
1)charter_common_utils
在您的源目录(setup.py
驻留的目录)的顶部创建一个新目录;
2)创建一个新的空文件charter_common_utils/__init__.py
;
3)将所有的顶级目录(anomaly
,batch_transform
,hive_table_checker
,metadata_io
,parquet_converter
,pyspark_visualizer
)进入charter_common_utils
;
4)更改您的setup.py
:
packages=['charter_common_utils',
'charter_common_utils.anomaly',
'charter_common_utils.batch_transform',
'charter_common_utils.hive_table_checker',
'charter_common_utils.metadata_io',
'charter_common_utils.parquet_converter',
'charter_common_utils.pyspark_visualizer',
],
或更改setup.py
此方式:
from setuptools import find_packages()
…
packages=find_packages(),
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句