pycharm初建django app创建遇到CommandError: ‘%%‘ conflicts with the name of an existing Python module解决方案

错误代码提示:

`(base) (venv) PS D:\pythonProject\mynameshao> python manage.py startapp mynameshao
CommandError: 'mynameshao' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.`

找了很多网上的文章,有说更新pip, 有说确认python模块的,有重新布置虚拟环境的,各种方案搞了一上午,最后看到有一位网友直接给了代码解决方案,但没说明原因。本人是菜鸟,根据提供的网址,查看英文网站内容,终于找到了原因。但这个问题根源在于《python编程 从入门到实践》一书的基本教材中没有讲得太清楚,入坑人数不少,包括外国的学习者。这本书作者:Eric Matthes,感觉有必要拿出来分享一下,以节约后来者的学习时间。

过程说明:
激活虚拟环境-创建项目-创建数据库-创建应用程序(app)
代码如下:(terminal中运行)

(base) PS D:\pythonProject\venv> cd Scripts
(base) PS D:\pythonProject\venv\Scripts> .\activate
(base) (venv) PS D:\pythonProject\venv\Scripts> cd..
(base) (venv) PS D:\pythonProject\venv> cd..
(base) (venv) PS D:\pythonProject> django-admin startproject mynameshao  
(base) (venv) PS D:\pythonProject> cd mynameshao

在创建app时遇到问题了:

(base) (venv) PS D:\pythonProject\mynameshao> python manage.py startapp mynameshao
CommandError: 'mynameshao' conflicts with the name of an existing Python module and cannot be used as an app name. Please try another name.

提示建立的app名与现存的python模块名有冲突,重新将django项目名称改了好几次,都报同样的错误,查找pip list也找不到重名的模块。

网友 weixin_34232744 的解决方案,可以解决问题:

# first create a Project (container).
django-admin.py startproject Project
# create multiple apps
cd Project
python manage.py startapp polls
python manage.py startapp hello

可能本人使用的是pycharm的原因,django-admin.py无法运行,另外就是教材中一度强调在最后的app名后要加,这些都是在绕弯路, 最终代码如下:

(base) (venv) PS D:\pythonProject\mynameshao> python manage.py startapp role1
(base) (venv) PS D:\pythonProject\mynameshao> ls 


    目录: D:\pythonProject\mynameshao


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2023/1/14     11:14                mynameshao
d-----         2023/1/14     11:27                role1
-a----         2023/1/14     11:14         131072 db.sqlite3
-a----         2023/1/14     11:14            688 manage.py


(base) (venv) PS D:\pythonProject\mynameshao> 

检查项目文件夹OK,app文件目录中终于有了models.py文件。

在这里插入图片描述

但对于一个菜鸟,还是没有搞清楚原因,继续按网友提供的网址找资料:
https://stackoverflow.com/questions/7019070/cannot-start-any-django-app

看到回复如下:
在这里插入图片描述

外国兄弟笑了,项目文件名是一个总文件夹(容器),app需要另外取名字,但是教材上的app名字与项目文件名是相同的名字,导致大家误以为app就是项目名称名。

过程曲折,这就是自学过程中的痛苦,希望对后来人有帮助。

这个错误通常发生在尝试导入`argparse`模块时,但该模块的`ArgumentParser`子类没有被正确识别。这可能是因为你在PyCharm中使用的Jupyter Notebook版本过旧,或者你直接在命令行环境中使用了不同版本的Python解释器。 解决这个问题的步骤如下: 1. **检查Python环境**:确认PyCharm是否使用的是正确的Python解释器,可以在PyCharm设置里(Preferences/Settings)查看。确保你的Jupyter Notebook是基于当前项目所选的Python版本运行的。 2. **更新`argparse`库**:如果使用的是较老的Python(如Python 2),请尝试升级到最新版本。在命令行中运行 `pip install --upgrade argparse` 或者 `pip3 install --upgrade argparse`。 3. **重启PyCharm**:有时候,简单地关闭并重新打开PyCharm可以解决这种临时的问题。 4. **检查代码依赖**:确保你的代码中没有误引用或拼写错误。可能是某个地方导入了错误的`ArgumentParser`定义。 5. **隔离环境**:如果你的项目有多个虚拟环境,请确保在正确的环境中启动Jupyter Notebook。 6. **检查Jupyter配置**:在Jupyter Notebook内,试着导入`import argparse`看看是否能正常工作。如果是外部环境导致的问题,可能是其他应用干扰了Jupyter的配置。 如果以上步骤都试过了还是无法解决问题,你可以提供具体的代码片段以及相关的环境信息(包括使用的Python版本、PyCharm版本、是否有安装第三方的ArgumentParser扩展等),以便更好地定位问题。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值