我目前正在使用psycopg2完成一个关于数据库输入的教程,但是我似乎无法让我的脚本找到它。使用pip安装,我的脚本是用Atom编写的。当我在命令提示符下导入psycopg2时,它工作正常,但我的Atom脚本不会运行:
原子脚本
import sys
sys.path.append('c:\\users\j.meiring\appdata\local\programs\python\python36-32\lib\site-packages')
print(sys.path)
import psycopg2
def create_table():
conn=psycopg2.connect("dbname='database1' user='postgres' password='postgres123' host='localhost' port='5432'")
cur=conn.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity INTEGER, price REAL)")
conn.commit()
conn.close()
def insert(item,quantity,price):
conn=psycopg2.connect("lite.db")
cur=conn.cursor()
cur.execute("INSERT INTO store VALUES (?,?,?)",(item,quantity,price))
conn.commit()
conn.close()
def view():
conn=psycopg2.connect("lite.db")
cur=conn.cursor()
cur.execute("SELECT * FROM store")
rows=cur.fetchall()
conn.close()
return rows
def delete(item):
conn=psycopg2.connect("lite.db")
cur=conn.cursor()
cur.execute("DELETE FROM store WHERE item=?",(item,))
conn.commit()
conn.close()
def update(quantity,price,item):
conn=psycopg2.connect("lite.db")
cur=conn.cursor()
cur.execute("UPDATE store SET quantity=?, price=? WHERE item=?",(quantity,price,item,))
conn.commit()
conn.close()
create_table()
#print(view())
命令输出
C:\Users\J.Meiring\Documents\Py\Database>script2.py
['C:\\Users\\J.Meiring\\Documents\\Py\\Database', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\python36.zip', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\DLLs', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\lib\\site-packages', 'c:\\users\\j.meiring\x07ppdata\\local\\programs\\python\\python36-32\\lib\\site-packages']
Traceback (most recent call last):
File "C:\Users\J.Meiring\Documents\Py\Database\script2.py", line 4, in <module>
import psycopg2
ModuleNotFoundError: No module named 'psycopg2'
C:\Users\J.Meiring\Documents\Py\Database>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 16:07:46) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print("'c:\\users\j.meiring\appdata\local\programs\python\python36-32\lib\site-packages' in sys.path")
'c:\users\j.meiringppdata\local\programs\python\python36-32\lib\site-packages' in sys.path
>>> print('c:\\users\j.meiring\appdata\local\programs\python\python36-32\lib\site-packages' in sys.path)
False
>>> sys.path.append('c:\\users\j.meiring\appdata\local\programs\python\python36-32\lib\site-packages')
>>> print('c:\\users\j.meiring\appdata\local\programs\python\python36-32\lib\site-packages' in sys.path)
True
>>> import psycopg2
>>>
首先,在代码中显示这一点,向
sys.path
添加一个路径:但是,您的错误似乎有所不同。为了便于阅读,我在它提供的路径中添加了换行符。你知道吗
请注意最后一行中的这部分路径。。。你知道吗
这里不是
appdata
,而是x07ppdata
。它可以是0x07,也可以是BELL字符(控制字符,通常不可见)。可能这个字符是嵌入在文件中的某种unicode字符,您没有注意到,因为它在呈现时看起来是正确的?在任何情况下,这个x07ppdata
目录都不存在,因此该路径没有帮助。你知道吗相关问题 更多 >
编程相关推荐