我有一个python软件包上传到GitHub。该软件包使用Pipenv来管理依赖项。另一方面,我有一个使用该库的python工具(并使用Pipenv来管理自己的依赖项)。
查看我程序包的Pipfile,我们可以看到它具有两个依赖项:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*"
loggly-python-handler = "*"
[dev-packages]
pylint = "*"
[requires]
python_version = "3.7"
在我的python工具中,我使用以下命令安装了软件包:
pipenv install -e git+https://github.com/<name>/<name>.git#egg=<name>
但是,当检查该工具的点状图时,我的程序包似乎没有依赖性:
(tool-aqleTTYE) C:\Projects\tool>pipenv graph
<my_package>==0.0.3
pylint==2.0.1
- astroid [required: >=2.0.1, installed: 2.0.1]
- lazy-object-proxy [required: Any, installed: 1.3.1]
- six [required: Any, installed: 1.11.0]
- wrapt [required: Any, installed: 1.10.11]
- colorama [required: Any, installed: 0.3.9]
- isort [required: >=4.2.5, installed: 4.3.4]
- mccabe [required: Any, installed: 0.6.1]
我希望看到我的包裹依赖于requests
和loggly-python-handler
。确实,在运行代码时,它表示找不到包依赖项。
pipenv run python tool.py
....
File "c:\.virtualenvs\tool-aqlettye\src\tool\tool\logger.py", line 35, in <module>
'level': 'DEBUG',
File "c:\python37\Lib\logging\config.py", line 792, in dictConfig
dictConfigClass(config).configure()
File "c:\python37\Lib\logging\config.py", line 563, in configure
'%r' % name) from e
ValueError: Unable to configure handler 'loggly'
请确保:
(tool-aqleTTYE) C:\Projects\tool>python
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'requests'
是错误还是我做错了什么?
答案 0 :(得分:0)
尝试:
pipenv lock --clear
这应该清除您的锁定文件。 它对我有用。
只需卸载并安装:
pipenv uninstall --all
然后
pipenv install
我在没有“ setup.py”中定义的依赖项(install_requires)的情况下首次创建的自定义程序包(.whl)存在相同的问题。 我将其上传到个人pypi存储库并安装。 纠正我的错误并按照要求进行更新并重试安装后,依赖项不起作用。
我发现锁定文件没有显示依赖关系更改,但是“ pipenv图”显示了它们。
然后我找到了命令here