我想与同事共享python代码,这样他将获得分发软件包,并且可以使用pip将该软件包安装在他/她的计算机上。
我创建了.whl文件,我认为可以通过pip install命令直接安装。 虽然已成功安装,但在我开始使用它时会显示错误。
这是否可能像我给的.whl文件一样,一旦通过pip install命令安装后就可以在其他人的机器上使用?
我正在尝试在Windows计算机上进行操作。
这是setup.py:
import setuptools
with open("README.md", "r") as fh:
long_description = fh.read()
setuptools.setup(
name='dokr',
version='0.1',
scripts=['dokr'] ,
author="Debapritam Chakra",
author_email="debapritam22@gmail.com",
description="A Sample package",
long_description=long_description,
long_description_content_type="text/markdown",
url="",
packages=setuptools.find_packages(),
classifiers=[
"Programming Language :: Python :: 2.7",
"",
"Operating System :: OS Independent",
],
)
我要创建的软件包是dokr,并且在同一目录中具有名为dokr的文件,其内容如下所示。
#!/usr/bin/env python
echo "hey there, this is a pip package"
使用命令 python setup.py sdist bdist_wheel 生成分发软件包。
要在我的机器上安装软件包,我使用了命令:
python -m pip install dist / name-of-wheel-file.whl
表明已成功安装(甚至已使用 pip列表进行了检查)。 当我尝试将包导入为
时,它将引发错误导入dokr
回溯(最近通话最近一次):
文件“”,位于
的第1行ImportError:没有名为dokr的模块
其他观察结果: 我机器上的Python安装在C:\ Python27下。 使用pip从whl文件安装软件包后,我可以看到在路径下创建了一个目录:C:\ Python27 \ Lib \ site-packages \ 名为 dokr-0.1.dist-info 。其点列表显示该模块已存在。
但是没有这样的文件夹,它本身具有python文件dokr,我想将其导入其他python文件中。在导入过程中显示错误。
我是python和这个平台的新手。任何线索都会有所帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
幸运的是发现了问题的原因。
我没有在设置函数中传递参数(软件包,其中包含要包含的软件包列表),因此不能复制软件包。
以下文章和令人敬畏的答案有助于解决问题。
https://setuptools.readthedocs.io/en/latest/setuptools.html#developer-s-guide
pip install . creates only the dist-info not the package
我感谢来到这里的每个人的帮助。 :)