我正在开发一个PyQt5应用程序,并使其可用,pip install因为python3中的pip可以将pyqt5安装为依赖项。我创建了一个启动包的入口,并告诉setup.py这是一个gui_scripts。
我现在想做的是,在该人键入pip install package并完成安装之后,向该人显示一条消息,告诉您现在可以package在终端中键入以加载应用程序。正确的做法是什么?还是我不应该这样做?
我正在尝试创建一个具有实用程序命令行程序的 Python 模块。我正在使用 setuptools 和 Python3。我已经在entry_points设置领域创建了很好的实用程序,但我想包含一个默认配置文件,我想将它放在用户的主.config目录中。
这是我的包目录布局:
? tree
.
??? config
? ??? spt.config
??? README.org
??? utilityTool
? ??? __init__.py
? ??? file1.py
? ??? file2.py
? ??? tools
? ??? commandline.py
? ??? __init__.py
??? setup.py
??? MANIFEST.in
Run Code Online (Sandbox Code Playgroud)
这是我的setup.py:
import utilityTool
from setuptools import setup, find_packages
import os
setup(name='utilityTool',
version=utilityTool.__version__,
description='A utility tool',
long_description='Longer package description',
classifiers=[
'Development Status :: 3 - Alpha',
'License :: OSI Approved :: MIT License',
'Programming …Run Code Online (Sandbox Code Playgroud) 我正在开发一个包,它有一些可选的依赖项和“额外”。
目标: 我希望以下两件事起作用:
状态:目前我已经能够:
使用python setup.py install或python setup.py develop执行安装后代码;使用这里的方法/sf/answers/2583149761/
使用pip install PACKAGE[extra]正确安装/管理的额外或不同的封装配置。
在我的研究中,我没有发现python setup.py允许“额外”的功能,也没有发现pip install允许我的安装后代码执行的功能。*已更改,请参阅更新
笔记:
使用 pip 9.0.1,python 3.6
我的安装后很简单,它只是获取有关可用资源的一些信息,创建一个文件,并使用print().
问题:我是否错过了某些功能,或者是否没有一种方法可以仅使用一种安装方法来干净地完成这两个操作?
更新:
该pip install方法实际上执行了我的安装后代码(打印件通过管道传送到某处,仅使用-vvvarg可见)。另一个问题是(除非与 一起安装-e)它使用临时构建目录,C:\Users\USER\AppData\Local\Temp\pip-ix4d6hv3-build然后清理它,而不是在本地目录中构建。在这种情况下,我的文件创建要么不起作用,我一直无法找到文件的创建位置,要么被 pip 清理(我尝试--no-clean过相同的结果)。
供他人参考:
如果从本地目录(不是 tar/whl/etc. 文件)安装,软件包将被复制到一个临时目录,参见 ^update^。然后setuptools.command.egg_info子类 insetup.py将在setuptools.command.installor setuptools.command.develop (passed in cmdclassarg)之前执行。
正是这个问题,但是使用 Poetry 而没有 Setuptools。
我想跑
print('Installation finished, doing other things...')
Run Code Online (Sandbox Code Playgroud)
当我的包安装时。使用 Setuptools,您可以只进行修改setup.py,但在 Poetry 中特别没有setup.py。
我真正想做的是生成一个默认.mypackage_config文件并将其放在有用的地方。我不知道如何在没有任意代码的情况下执行此操作,但是 Poetry不允许安装任意代码。有没有办法做到这一点?
我运行以下查询来在 SQLite 数据库中创建数据库视图:
CREATE VIEW customerview AS
SELECT
a.id
, name
, email
, vat
, street
, number
, postal
, city
, country
, geo_lat
, geo_lon
, customer_id
, is_primary
FROM customerbin_address a
, customerbin_customer b
WHERE b.id = a.customer_id
AND a.is_primary = 1
Run Code Online (Sandbox Code Playgroud)
在 models.py 中我添加了模型:
class Customerview(models.Model):
name = models.CharField(max_length=100, db_column='name')
email = models.EmailField(unique=True, db_column='email')
vat = VATNumberField(countries=['NL', 'BE', 'FR', 'DE', 'UK'], blank=True, null=True, db_column='vat')
street = models.CharField(max_length=100, db_column='street')
number = models.IntegerField(null=True, db_column='number')
postal = …Run Code Online (Sandbox Code Playgroud) python ×4
pip ×2
setuptools ×2
django ×1
post-install ×1
python-3.x ×1
setup.py ×1
sql-view ×1