救命啊
我无法在Visual Studio代码中安装“Linter pylint”。我使用Python3.9和Windows10
Python安装在C:\Program Files\Python39中
当我启动Ide时,它告诉我“没有安装Linter pyling。来源:Python(扩展)[安装/选择Linter/不再显示]”
当我选择“安装”时,它会查找缓存文件,并向我抛出以下错误消息:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xf6 in position 0: invalid start byte
(sitecustomize.py, line 21)
WARNING: The wheel package is not available.
Error in sitecustomize; set PYTHONVERBOSE for traceback:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xf6 in position 0: invalid start byte
(sitecustomize.py, line 21)
ERROR: Command errored out with exit status 1: 'C:\Program Files\Python39\python.exe'
'C:\Users\XXX\AppData\Roaming\Python\Python39\site-packages\pip\_vendor\pep517\_in_process.py'
prepare_metadata_for_build_wheel
我在代码中将我的真名改为XXX,因为它显示了我的全名和姓氏
然而,pylint在我的笔记本电脑和VisualStudio代码上运行正常。我已经检查了其他几个主题,也在谷歌上搜索了这个问题。然而,我无法解决这个问题
这是路径的问题吗
我还尝试通过CMD安装pylint,并关闭了visualstudio代码。我收到以下错误消息:
ERROR: Command errored out with exit status 1:
command: 'c:\program files\python39\python.exe' 'C:\Users\XXXX\AppData\Roaming\Python\Python39\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\XXX~1\AppData\Local\Temp\tmprs1z79cr'
cwd: C:\Users\XXXX\AppData\Local\Temp\pip-install-50w37pyv\lazy-object-proxy_19a2f4b71f224fe7bc87991bc2a8cf52
Complete output (15 lines):
Error in sitecustomize; set PYTHONVERBOSE for traceback:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xf6 in position 0: invalid start byte (sitecustomize.py, line 21)
WARNING: The wheel package is not available.
Error in sitecustomize; set PYTHONVERBOSE for traceback:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xf6 in position 0: invalid start byte (sitecustomize.py, line 21)
running dist_info
creating C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info
writing C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\PKG-INFO
writing dependency_links to C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\dependency_links.txt
writing top-level names to C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\top_level.txt
writing manifest file 'C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\SOURCES.txt'
reading manifest file 'C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\SOURCES.txt'
writing manifest file 'C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.egg-info\SOURCES.txt'
creating 'C:\Users\XXXX\AppData\Local\Temp\pip-modern-metadata-inoke7l2\lazy_object_proxy.dist-info'
error: invalid command 'bdist_wheel'
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\program files\python39\python.exe' 'C:\Users\XXXX\AppData\Roaming\Python\Python39\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\XXXX~1\AppData\Local\Temp\tmprs1z79cr' Check the logs for full command output.
谢谢大家!
检查一下你的例子,下面是一些注释
1)与你的技能变量相关
在Java中,按照惯例,局部变量、实例变量和类变量都是用小写字母写成的
阅读维基百科上的Java naming conventions文章
另请参见第9章关于Code Conventions for the Java™ Programming Language中的命名约定
所以这会更好:
List<UserDetails> skills = new ArrayList<UserDetails>();
2)同样与你的技能变量有关
您将其命名为skills,尽管从代码中可以清楚地看出skills只是UserDetails对象的属性之一。我在做一个假设,但是UserDetails课程只是关于用户技能的吗?如果是,那么最好在类名中以某种方式反映这一点,例如用户技能。 否则,如果技能只是用户详细信息中的一个,那么这样做会更好:
List<UserDetails> userDetailsList = new ArrayList<UserDetails>();
同样,强烈建议使用有意义的变量名。阅读上面的命名约定
3)调用Connection.prepareStatement()方法时,不需要强制转换为PreparedStatement,因为它已经返回PreparedStatement对象。所以只要做:
作为对你的问题的回答,是,当然你可以使用JSTL中的
<c:forLoop>
,例如来遍历所有用户的列表,并输出每个用户的相关细节。这是一种常见的做法你的问题不太清楚,但让我猜猜
在您的示例中,您只有有限的技能列表,我的意思是只有PHP、Java、MySQL、JavaScript、jQuery和Node。对于每个用户,如果用户具有相应的技能,则希望选中相关复选框
如果上述假设是正确的,那么这里是一个可能的解决方案
设置一个属性,该属性包含数组或所需技能的列表
考虑到列表仅限于预定义的值,您可以将该列表存储在
ServletContext
中,以便整个应用程序都可以使用它。最好在实现ServletContextListener的类中设置这样的全局对象示例:AppContextListener。java:
NB为了接收这些通知事件(contextInitialized、contextDestroyed),必须在web应用程序的部署描述符中声明实现类,使用WebListener进行注释,或者通过ServletContext上定义的addListener方法之一进行注册。这里我使用了
@WebListener
注释我没有时间深入讨论架构细节,但对于这个例子,我假设有一个类User,它包含与用户相关的信息。其中包括作为
Map<String, Boolean>
实现的属性技能。它有getter和setter(比如public Map<String, Boolean> getSkills()
和public void setSkills(Map<String, Boolean> skills)
)示例:用户。java
在某个地方,在处理通过doPost()方法中的某个HTML表单提交的数据的servlet中,填充了用户技能和其他细节。类似于以下内容(简化示例):
这样你就不用硬编码技能的名字,否则你可以这样做:
现在在一些servlet中,获取所有用户,例如,一个
List<User> users
,在请求范围中设置一个属性,比如request.setAttribute("users", users)
来存储用户列表,并转发到某个视图(JSP页面),该视图将输出与所有用户相关的数据输出用户相关数据的JSP页面的简单示例:用户。jsp
或者使用
<c:if>
标记:用户,使用更紧凑的变体。jsp注意:
注释内部特定于JSP的代码部分JSP,最好以
<% Some comment %>
的形式使用JSP注释。与HTML注释(以<! Some comment >
的形式)不同,JSP注释在发送给客户端的结果页面中不可见希望这将帮助你,并提供一些有用的想法
相关问题 更多 >
编程相关推荐