问题标签 [python-packaging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何从 python 轮子构建(不安装)
我有一个安装 python 库的工作流程,其工作方式如下:
- 下载源
- 构建自
setup.py
- 手动将构建文件安装到网络位置。
我想pip
用来处理下载和依赖解析,以将我的工作流程更改为如下所示:
- 用于
pip download PACKAGE
下载 PACKAGE 及其所有依赖项的 python 轮子。 - 从每个 Wheel 文件构建 PACKAGE 和所有依赖项。
- 手动将构建文件安装到网络位置。
在第二个工作流程中执行步骤 #2 的最佳方法是什么?我找到了很多从轮子安装的选项,但是有没有一种方法可以在不安装的情况下简单地构建?
我基本上想要从 中获得的相同输出python setup.py build
,但使用 python 轮子而不是项目源。
python - 创建一个 pip 包以允许其他人下载 - 安装创建的包时出现问题
我创建了一个包“honeywell_thermostat”并将其添加到 github。我想通过以下方式将其添加到 pypi:“python setup.py bdist_egg upload --quiet”
看起来该软件包已在 pypi.python.org 上正确安装,但未在任何机器上正确安装。
这是我的 setup.py:
我的目录结构如下所示:
设置.cfg:
当我在具有 python 版本 2.7.12 的机器上运行命令时:
我得到以下信息:
当我尝试在另一台机器上安装包时(运行 python 版本 2.7.12):
我明白了:
提前感谢任何人可能有的任何支持或建议
python - 将需要 C 编译器的 Python 程序打包
我正在创建和打包一个 Python (2.7) 程序以在 Amazaon WS 上创建一个 Lambda 函数。我拥有的程序依赖于PySha3 包,它本质上是一个围绕优化的 Sha3 C 包的 Python 包装器。Pysha3 导入一个 C 文件;这两个文件的源代码可以在这个 Github Repository中看到。
为了将包导入 Lambda 平台,必须压缩并上传整个文件和所有依赖项。当我这样做并在上传后尝试测试包时,我收到一个错误,即找不到从 PySha3 包中包含的 C 文件导入的 Sha3 类。由于我自己的研究和故障排除的结果,我决定在我的程序目录的根目录中安装一个 Pysha3 轮,我相信这是正确的举动。但是,当我这样做时,我收到以下错误:
我真的希望,如果我可以通过安装 C 编译器来正确安装轮子,并且可以以某种方式将 C 编译器与我的程序一起打包,那么 Lambda 就可以工作。我找到了这个 Python 编译器,我希望安装它可以在本地修复我的错误,也许将它包含在 zip 文件中可以修复 Lambda AWS 上的错误。
所以,我的问题是,我的思考过程似乎有效吗?同样,关于如何将编译器包含在压缩文件中以便实际使用的任何提示/指导?我对这一切都很陌生,所以任何事情都会有所帮助。非常感谢!
django - 安装打包的 Django 应用程序导致失败的“迁移”错误“没有名为...的模块”
Ubuntu 16.04 LTS • nginx 1.10.0 • Python 2.7.12 • Django-1.10.5
我已经完成了https://docs.djangoproject.com/en/1.10/intro/tutorial07/上的教程,这些教程都是使用 virtualenv 构建的
为了学习打包我的应用程序并重用它,我正在关注https://docs.djangoproject.com/en/1.10/intro/reusable-apps/上的教程,它不使用 virtualenv,但我无法得到它上班。
该应用程序称为“民意调查”。这是我为创建包所做的:
删除了我的应用程序中留下的所有 .pyc 文件
pip install setuptools & sudo pip install django
将我的(正常运行的)应用程序目录从项目目录移动到我的主目录
~$ mv -rfp 示例/民意调查 django-polls
在新的“django-polls”文件夹中,我创建了README.rst、LICENSE并修改了setup.py,由
注释掉:
创建MANIFEST.in(无文档)
构建包,没有问题:python setup.py sdist
到目前为止,一切似乎都正常工作。
我想在其他站点重新使用我的应用程序,但安装后无法完成迁移。
我安装了没有明显问题的新软件包:
为了完成安装,我:
在不同的站点/项目文件夹中的 settings.py中将“投票”添加到 INSTALLED_APPS
通过添加修改urls.py
url(r'^polls/', 包括('polls.urls')),
python manage.py 迁移
现在我得到一个错误:
我想:也许是因为我用 --user 标志安装了民意调查,它对 virtualenv 不可用,所以我“工作”了 virtualenv 并重新安装民意调查:
一切正常,但是当我尝试迁移时遇到同样的错误:
所以,我无法让我的应用程序在 virtualenv 中工作。
要获取民意调查的路径,我输入:
并得到“无法卸载需求投票,未安装”
如果我在 virtualenv 中或者我已停用它,结果是相同的。
为了检查安装位置,我尝试使用和不使用 virtualenv 重新安装应用程序并获得:
因此,该应用程序安装在 virtualenv 内部和外部,但是当我进行迁移时它都丢失了。
我花了一整天的时间尝试各种路径和其他类似教程,但无法超越这一点。
python - 如何在不安装的情况下列出python库的依赖项?
有没有办法在不先安装给定 python 包的情况下获取依赖项列表?
我目前可以获得要求列表,但它需要安装软件包。例如,我可以使用 pip 显示基本需求信息,但它不包括版本信息:
我尝试了一个名为的库pipdeptree
,其中包含更好的需求输出,但它也需要安装包
理想情况下,我会得到所pipdeptree
提供的详细程度。此外,能够requirements.txt
从 pythonwheel
或 pypi生成文件pip
也足够了。
我对给定包的依赖约束感兴趣,而不是在解决依赖要求后最终下载的包。例如,我真的不在乎下载的 pip package-2.3.4
,我宁愿知道这package>=2.1
是一个要求。
python - 如何编辑车轮包(.whl)?
我有一个 python wheel 包,提取后我找到了一些 python 代码,我想编辑此代码并再次重新生成相同的 .whl 包并对其进行测试以查看编辑内容。我该怎么做?
python - Anaconda:上传到全球频道
我使用 pip 有一段时间了,但我现在需要使用 Anaconda,因为它h5py
在 Windows 上支持而无需编译它。
我将我的第一个包上传到 Anaconda.org(使用本教程),一切都很顺利。但是......我注意到我必须运行这个命令来安装:
虽然我注意到其他软件包(如 PyQt 和 h5py)可以安装:
因此,显然需要做一些特别的事情才能访问“全球频道”。我找不到任何关于那个的信息。如何将我的包裹上传到全球频道?
python - Python:奇怪的导入行为
我有一个具有以下结构的包
请注意,项目文件夹和源文件夹共享相同的名称 (projectX)。
问题有点复杂,需要做一些前提
前提:
我总是启动界面并且总是启动界面。没有调用其他脚本
我的问题首先出现在尝试从 stats_worker2 导入 main_worker 时。
我无法让它作为相对进口。因此,我尝试从 stats_worker2 和接口(分别)将父目录附加到 sys.path。我尝试了各种我不记得的方法。
它最终通过将以下行添加到 stats_worker2 来工作
现在怪事开始了
在调用脚本几次之后(我不记得具体有多少次),上面的 sintax 不再起作用了。因为有一个:ImportError: No module named projectX
编辑:上面的斜体部分是由于我__init__.py
在 projectX 源文件夹中缺少一个。所有其他症状仍然存在。
但是,很奇怪,我现在可以从 stats_worker2 成功导入主要工作人员:
没有任何目录被附加到 sys.path!
但是,Sphinx 不再起作用了!具体来说,它无法导入 projectX 包的所有模块。
额外的怪异我曾经从界面成功导入stats_worker,现在我仍然可以导入它,但是我的IDE(Pycharm)将导入标记为未使用。它实际上已被使用,如果我评论导入,界面会按预期崩溃(我已经使 Pycharm 缓存无效)
python - 更改包导入路径
我有以下情况:
指向“packageA”的路径在我的 PYTHONPATH 环境变量中。由于其他原因,我想避免在 PYTHONPATH 中放置“some_path”。
现在,如果我想从我写的地方导入“subpackageB”
我想避免这种情况,为了避免名称冲突,我需要导入的逻辑路径为:
我想知道是否有任何方法可以做到这一点,也许将 __init__.py 放在“packageA”目录中。有没有办法用当前的目录布局来实现这一点?
谢谢。
python - Python打包模块的版本冲突问题
我正在使用 stack.sh 部署 OpenStack Newton devstack
我遇到了以下问题:
看起来一个名为“打包”的包存在版本冲突。
这是我所做的 - >尝试通过执行以下操作卸载并重新安装软件包:
但这并没有真正帮助,我再次遇到同样的错误。
请帮我解决这个问题,请具体说明我应该执行哪个命令以及在哪个目录中。