簡體   English   中英

如何從不同目錄導入兩個文件?

[英]How to import two files from different directories?

嘗試運行此文件:

#!flask/bin/python
from flask import Flask, jsonify
#!/usr/bin/python
import psycopg2

並返回:

ImportError: No module named psycopg2

我只有psycopg2的文件,並且可以正常工作。 而且我還有一個只有燒瓶的文件,它也可以工作。 但是,當我嘗試同時運行兩個導入文件時,它會崩潰。 如何修復(包括flask / bin / python和/ usr / bin / python,flask和psycopg2一起工作)?

可能 正在運行兩個不同的python安裝。

[some path]/flask/bin/python一個,在/usr/bin/python 這些模塊安裝在不同的環境中,因此不能一起使用。

要在您的“主要” python安裝中修復此安裝燒瓶模塊,或在您的燒瓶環境中安裝psycopg2。

#! PATH #! PATHshebang ,Unix / Linux使用它作為執行程序的路徑。 /path/to/script.pypython /path/to/script.py

但是,這可能有助於擴展尋找軟件包的路徑。

運行您的額外環境(python bin):

# Example:
python -c "import PACKAGE; print(PACKAGE.__path__)"
# Psycopg2
python -c "import psycopg2; print(psycopg2.__path__)"

輸出:

['/path/to/some/python/psycopg2']

(我的輸出: /home/usr/miniconda3/envs/free/lib/python3.6/site-packages/psycopg2

#!flask/bin/python
from flask import Flask, jsonify

import sys
sys.path.insert(0, '/path/to/some/python')  # Without package name
import psycopg2

如果使用包名添加路徑,則必須降低一級,但是請注意, __init__.py文件可以通過“命名空間”編輯路徑,因此並不理想。 但是您只能使用包本身。 沒有它,您將使用該目錄中可用的軟件包。

您需要安裝軟件包模塊。 在終端執行:

pip install psycopg2

PyPi中的更多信息-PSYCOPG2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM