Nhập mô-đun Python hoạt động từ dòng lệnh, nhưng không phải từ PyCharm


8

Nhị phân Python mặc định của tôi được đặt thành một bản phân phối Anaconda của Python. Điều này được tìm thấy tại /home/karnivaurus/anaconda/bin/pythonvà tôi đã biến nó thành mặc định bằng cách thêm vào .bashrctệp của mình như sau : export PATH=/home/karnivaurus/anaconda/bin:$PATH.

Tôi cũng có một gói Python được gọi caffe, được đặt tại /home/karnivaurus/caffe/distribute/pythonvà tôi đã thêm nó vào đường dẫn tìm kiếm gói bằng cách thêm vào .bashrctệp của mình như sau : export PYTHONPATH=${PYTHONPATH}:/home/karnivaurus/caffe/distribute/python.

Bây giờ, tôi có một tệp Python đơn giản, được gọi test.py, với các nội dung sau:

import caffe
print "Done."

Nếu tôi chạy cái này bằng cách nhập python test.pyvào terminal, nó sẽ chạy tốt, in ra "Xong". Vấn đề tôi gặp phải là khi tôi chạy nó trong PyCharm IDE. Trong PyCharm, tôi đã đặt trình thông dịch thành /home/karnivaurus/anaconda/bin/python. Nhưng khi tôi mở test.pytrong PyCharm và chạy tệp trong IDE, tôi gặp lỗi sau:

ImportError: No module named caffe

Vì vậy, câu hỏi của tôi là: Tại sao PyCharm không thể tìm thấy caffemô-đun khi chạy tập lệnh Python, nhưng nó có thể được tìm thấy khi tôi chạy tập lệnh từ thiết bị đầu cuối?

Cảm ơn bạn!


2
Tôi đoán PyCharm không quan tâm đến bạn .bashrc, vì đó là tệp cấu hình dành riêng cho bash. Bạn phải thiết lập biến rằng một trong hai trong PyCharm hoặc trong ví dụ.profile
Byte Commander

Câu trả lời:


11

Như ByteCommander đã nói trong một bình luận, PyCharm không sử dụng bashrc, vì vậy nó không biết thư viện của bạn ở đâu.

Trong cùng một màn hình nơi bạn đã thêm trình thông dịch, bạn có thể thấy biểu tượng bánh xe, nhấp vào nó, nó sẽ hiển thị cho bạn một menu, nhấp vào nhiều hơn. Bạn sẽ thấy một màn hình như thế này:

Cấu hình phiên dịch PyCharm

Bạn nên chọn thông dịch viên của bạn và bấm vào nút cuối cùng. Điều này sẽ mở cửa sổ này:

Cấu hình đường dẫn thông dịch

Bây giờ bấm vào biểu tượng dấu cộng, bạn sẽ có thể thêm đường dẫn của riêng mình cho các thư viện.


2
Và đây là một ví dụ tốt về lý do tại sao việc đưa ra các hướng dẫn dễ dàng hơn với dòng lệnh so với GUI.
Javier Rivera

Cảm ơn. Đây có phải là cách để thêm đường dẫn cho cả thư viện nhị phân và mô-đun Python? Hoặc các mô-đun Python nên được thêm vào "Nguồn gốc"?
Karnivaurus

1
Cả hai. Bạn chỉ nên sử dụng Nguồn gốc nếu bạn muốn thay đổi các mô-đun đó (bạn không cần thêm sau đó vào Nguồn gốc để hoàn thành, tài liệu hoặc 'đi đến nguồn' để hoạt động).
Javier Rivera

5

Các chương trình bắt đầu từ trình khởi chạy Ubuntu không đọc.bashrc . Thay thế cho việc thiết lập các đường dẫn trong PyCharm, bạn chỉ cần khởi động PyCharm từ vỏ Bash để cấp cho nó quyền truy cập vào các biến môi trường mà bạn đã đặt .bashrc.


Có cách nào để làm cho các chương trình đọc tệp .bash_rc khi được khởi động từ trình khởi chạy không?
Người dùng007

0

Mở phím tắt sau ( Ctrl+ Alt+ S) và nhấp (Dự án: xxxx), bây giờ chọn (Cấu trúc dự án) và chọn ( /home/yourUser/PycharmProjects/XXXX/venv/bin) và nhấp chuột phải (Không bao gồm) hoặc ( Alt+ E).

Bây giờ bấm vào (+ Thêm gốc nội dung) và xem nếu nó trỏ đến vị trí sau ( /home/ yourUser/PycharmProjects/XXXXX/venv/bin) và bấm OK. Bây giờ hãy đóng IDE và mở lại.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.