所以我先安装了venv,然后安装了SQLalchemy
然后我在Pycharm中编写了一段Python代码:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship
engine = create_engine('sqlite:///users.db', echo=True)
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
fullname = Column(String)
password = Column(String)
def __repr__(self):
return "<User(name='%s', fullname='%s', password='%s')>" % (
self.name, self.fullname, self.password)
Base.metadata.create_all(bind=engine)
Session = sessionmaker(bind=engine)
session = Session()
users = session.query(User).all()
for user in users:
print("User #%d with username=%s" % (user.id, user.name))
session.add(user)
session.commit()
session.close()
现在,我想通过PyCharm终端添加用户:
user = User(name='ed', fullname='Ed Jones', password='edspassword')
但是我遇到一个错误:
“用户”未被识别为内部或外部命令, 可操作的程序或批处理文件。
我在做什么错了?
谢谢:)
答案 0 :(得分:0)
在访问python控制台之前输入python。
C:.../>python
Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> user = User(name='ed', fullname='Ed Jones', password='edspassword')
答案 1 :(得分:0)
窗口底部有一个控制台。或者至少应该如此。如果没有,请在终端窗口中键入
python
之后,您需要导入模型文件,在我的服务器上,我会这样做:
from app.models import User
然后您可以:
user = User(...)
就您而言,我认为您可能需要cd
到包含上面带有您上面发布的代码的文件的目录。
然后,您可以执行python
并直接导入文件。完成后,您将可以在控制台中访问class
,并且可以手动添加用户。
但是,如果您右键单击数据库,则可以连接到该数据库(如果是本地数据库)并直接对行本身进行更改。
[更新]
转到终端->
类型cd C:\\path\to\pyfile
->
类型python
->
键入import mypyfile
,然后您应该拥有User类
[替代方法]
您也可以直接从终端
cd C:\\...\...\pyfile
python myfile.py
另外,请确保在尝试上述操作之前激活venv
,因为我可以猜测由于未安装sqlalchemy(但仅在venv中),该操作将失败。
答案 2 :(得分:0)
我实际上已经弄清楚了:(这次我使用的是GitBash)
首先从我的项目文件夹中激活我的虚拟环境source ~/venv/scripts/activate
然后输入python
,
在import myfilename
之后(不带“ .py”),
然后我可以from myfilename import User
现在user = User(name='ed', fullname='Ed Jones', password='edspassword')
可以正常工作了:)