python-3.x - 推荐的方式来分发我的 python 包而不上传到 PyPi

标签 python-3.x pip windows-10

我正在尝试使用 pip 从源代码安装本地包,但我的代码未复制到 site-packages 文件夹中。相反,使用链接到我的 python 源代码的路径的 json 文件创建一个文件夹。 这是预期的行为吗?与在开发模式下安装(使用 -e 标志)有什么区别。

我的工作路径是这样的:

├── setup.py
└── my_package
    ├── __init__.py
    └── module.py

我的 setup.py 文件如下所示:

import setuptools
setuptools.setup(name='my_package', version='0.0.1')
     

我正在输入:

python -m pip install .

然后当我在 python 中导入包时,它告诉我导入的包位于我的源代码文件夹中:

>>> import my_package
>>> my_package.__file__
path/to/my/desktop

将我的包分发给我的同事而不将其上传到 PyPi 上的推荐方法是什么? 另外有人可以向我解释一下可以使用 setuptools 生成的 .wheel、.tar.gz 和 .egg 文件之间的区别及其用例吗?

最佳答案

我找到了适合我的解决方案。 我使用命令从包中生成 .whl 文件

python -m pip wheel .

在包含 setup.py 的文件夹中。 这会生成一个 .whl 文件,我的同事可以使用命令安装该文件

python -m pip install .\my_package-0.0.1-py3-none-any.whl

压缩源代码(包括 setup.py)也可以,但看起来不太干净。

我还发现了为什么从不带 -e 标志的源代码安装没有将我的代码复制到我的“site-package”文件夹中。安装包会生成两个文件夹:“my_package-0.0.1.dist-info”文件夹和“my_module”文件夹。 我在 setup.py 脚本中缺少“package”kwarg,因此创建了版本信息文件夹,但没有创建包含代码的文件夹。下面是更正后的 setup.py

import setuptools
setuptools.setup(name="my_package", version='0.0.1', packages=["my_package"])

关于python-3.x - 推荐的方式来分发我的 python 包而不上传到 PyPi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67506552/

相关文章:

powershell - 有没有办法对任何用户使用 ConvertFrom-SecureString 和 ConvertTo-SecureString?

c++ - "This version of C:\TURBOC3\BIN\TCC.EXE is not compatible with the version of Windows you' 重新运行。

python - 使用辅助 y 轴时,Matplotlib 在前两个子图中不显示 xlabel

python-3.x - 无法在 balebot 中使用 time.sleep() 发送一组消息

python - PyQt4 中的多个类

python - “Pip”在命令提示符中识别但在 PyCharm 终端中不识别

python - 如何离线安装ruamel.yaml python库?

python-3.x - Python 3.6 : How can I create a pika consumer using SelectConnection adapter without using a class?

python - 指示 Python 在另一个文件夹中查找模块

ssl - Visual Studio 2019 SSL/TLS 安全通道问题