[英]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
#! PATH
是shebang ,Unix / Linux使用它作為執行程序的路徑。 ( /path/to/script.py
了python /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
文件可以通過“命名空間”編輯路徑,因此並不理想。 但是您只能使用包本身。 沒有它,您將使用該目錄中可用的軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.