为什么这个简单的程序在运行时会出现pkg_resources.DistributionNotFound错误,我们该如何修复它?
#setup.py
from setuptools import setup
setup(name='my_project',
version='0.1.0',
packages=['my_project'],
entry_points={
'console_scripts': [
'my_project = my_project.__main__:main'
]
},
)
Run Code Online (Sandbox Code Playgroud)
。
##my_project/__main__.py
import sys
def main(args=None):
print("Do Something")
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
构建: python setup.py install --root=target --prefix=usr
运行: .\target\usr\Scripts\my_project.exe
Traceback (most recent call last):
File "D:\code-maphew\scraps\bug-dist-not-found\target\usr\Scripts\my_project-script.py", line 6, in <module>
from pkg_resources import load_entry_point
File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3105, in <module>
@_call_aside
File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3089, in _call_aside
f(*args, **kwargs)
File "C:\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\pkg_resources\__init__.py", line 3118, in _initialize_master_working_set …Run Code Online (Sandbox Code Playgroud) 我使用此Ghostscript命令将PDF转换为图像:
gs \
-q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dCOLORSCREEN \
-dDOINTERPOLATE \
-dMaxBitmap=500000000 \
-dNumRenderingThreads=4 \
-dAlignToPixels=0 \
-dGridFitTT=0 \
-dTextAlphaBits=4 \
-dGraphicsAlphaBits=4 \
-sDEVICE=jpeg \
-dFirstPage=1 \
-dDEVICEWIDTHPOINTS=1654 \
-dDEVICEHEIGHTPOINTS=2333 \
-dDEVICEXRESOLUTION=1654 \
-dDEVICEYRESOLUTION=2333 \
-sOutputFile=d:\images\%01d.jpg \
d:\test.pdf
Run Code Online (Sandbox Code Playgroud)
它会转换图像,但图像为13675x27280像素.我想要1654x2333px中的图像.我究竟做错了什么?
如何配置或启用visual studio代码自动插入标准:
if __name__ == '__main__':
Run Code Online (Sandbox Code Playgroud)
我看到它是在 2018年实施的,但该票中讨论的用法对我没有任何影响。我一直在浏览文档和一般互联网,但我的搜索关键字没有打开相关页面。
这两种模式产生相同的结果.使用哪一个是否重要?为什么?
我更喜欢第二种,它有较少的缩进,只是看起来更清洁,但我没有看到它用得太多(在我去过的地方).如果由于某种原因不明智,我不想满足于某些事情并全部使用它.
如果别的
if not packages:
help('download')
else:
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
Run Code Online (Sandbox Code Playgroud)
IF ...回报; 隐含的
if not packages:
help('download')
return
for p in packages:
do_download(p)
verify_md5(p)
etc(p)
Run Code Online (Sandbox Code Playgroud)