Làm cách nào để thêm vào PYTHONPATH trong Windows, để nó tìm thấy các mô-đun / gói của tôi?


369

Tôi có một thư mục lưu trữ tất cả các ứng dụng Django của tôi ( C:\My_Projects). Tôi muốn thêm thư mục này vào PYTHONPATHđể tôi có thể gọi các ứng dụng trực tiếp.

Tôi đã thử thêm C:\My_Projects\;vào Pathbiến Windows của mình từ GUI Windows ( My Computer > Properties > Advanced System Settings > Environment Variables). Nhưng nó vẫn không đọc mô-đun coltrane và tạo ra lỗi này:

Lỗi: Không có mô-đun có tên coltrane


đối với lỗi "không có mô-đun có tên": stackoverflow.com/questions/23417941/ cấp
JinSnow

1
Tôi đã sử dụng sitemô-đun .
Zeinab Abbasimazar

Nếu bạn muốn chạy python trong dấu nhắc lệnh, nó được trả lời tốt ở đây Tôi hy vọng điều này sẽ giúp stackoverflow.com/a/54618199/8253662
maheshmnj

Câu trả lời:


411

Bạn biết những gì đã làm việc cho tôi thực sự tốt trên windows.

My Computer > Properties > Advanced System Settings > Environment Variables >

Chỉ cần thêm đường dẫn là C: \ Python27 (hoặc bất cứ nơi nào bạn đã cài đặt python)

HOẶC LÀ

Sau đó, dưới các biến hệ thống, tôi tạo một Biến mới được gọi PythonPath. Trong biến này tôi cóC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

nhập mô tả hình ảnh ở đây

Đây là cách tốt nhất đã làm việc cho tôi mà tôi chưa tìm thấy trong bất kỳ tài liệu nào được cung cấp.

EDIT: Đối với những người không thể có được nó, vui lòng thêm

C: \ Python27;

cùng với nó. Khác nó sẽ không bao giờ làm việc .


50
Bạn có thể muốn thêm C:\Python27vào con đường của bạn.
Wei Yang

5
@SteveKoch Tôi không chắc chắn - bạn sẽ phải hỏi người bảo trì dự án. Tôi không còn sử dụng Trình chỉnh sửa đường dẫn khi tôi chuyển sang Trình chỉnh sửa môi trường nhanh
Piotr Dobrogost

5
Điều quan trọng nữa là thêm C: \ Python27 \ ScScript vào đường dẫn để các tập lệnh được cài đặt có thể chạy từ trình bao.
Tyler Brock

6
Tại sao bạn sẽ đưa C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkvào PYTHONPATH? Những người đã được cấu hình. Thư mục cho các kịch bản đi trong hệ thống PATH. Thư mục cho các thư viện (chưa được cài đặt cho site-packageshoặc theo người dùng site-packages) đi vào PYTHONPATH.
Eryk CN

11
Tôi cũng phải bao gồm% PYTHONPATH% trong PATH của mình.
támx2

124

Câu trả lời của Windows 7 Professional I Đã sửa đổi @ mongoose_za để giúp thay đổi phiên bản python dễ dàng hơn:

  1. [Nhấp chuột phải] Máy tính> Thuộc tính> Cài đặt hệ thống nâng cao> Biến môi trường
  2. Nhấp vào [Mới] trong "Biến hệ thống"
  3. Tên biến: PY_HOME, Giá trị biến: C: \ path \ to \ python \ version nhập mô tả hình ảnh ở đây
  4. Nhấp vào [OK]
  5. Xác định vị trí biến Hệ thống "Đường dẫn" và nhấp vào [Chỉnh sửa]
  6. Thêm các mục sau vào biến hiện có:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ DLLs;% PY_HOME% \ Lib \ lib-tk; nhập mô tả hình ảnh ở đây

  7. Nhấp vào [OK] để đóng tất cả các cửa sổ.

Khi kiểm tra sự tỉnh táo cuối cùng, hãy mở một dấu nhắc lệnh và nhập python. Bạn nên thấy

>python [whatever version you are using]

Nếu bạn cần chuyển đổi giữa các phiên bản, bạn chỉ cần sửa đổi biến PY_HOME để trỏ đến thư mục thích hợp. Điều này dễ quản lý hơn một chút nếu bạn cần cài đặt nhiều phiên bản python.


4
Đã thử điều này và nó đã hoạt động ... tôi sẽ khuyên mọi người gặp vấn đề tương tự để thử điều này.
Christopher M.

2
Đã thử điều này, nó không làm gì cả.
GreySage

Tôi đã thử câu trả lời được chấp nhận ở trên và nó không hoạt động nên tôi sẽ giới thiệu câu trả lời này.
mjwrazor

2
@Reihan_amn Ý tôi là thư mục gói chứa lib, bin, libexec, v.v. Thông thường các thư mục này có tên Python [VERSION_NUMBER] /, nhưng tôi cũng đã thấy python / [VERSION_NUMBER]. Hy vọng điều này sẽ giúp
Delicia Brummitt

5
Tôi đã thử điều này và nó đã làm việc cho tôi. Tôi đã phải thực hiện một điều chỉnh nhỏ đó là nhấp vào Mới cho mỗi mục nhập này cho Windows 10 khi thêm chúng vào biến PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Tôi cũng cần phải thêm %PY_HOME%\Scriptsđể tôi có quyền truy cập vào pip và các mô-đun tôi cài đặt với pip như pylint
Jose 'Vargas

82

Từ dòng lệnh Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Để đặt PYTHONPATH vĩnh viễn, hãy thêm dòng vào autoexec.bat. Ngoài ra, nếu bạn chỉnh sửa biến hệ thống thông qua Thuộc tính hệ thống, nó cũng sẽ được thay đổi vĩnh viễn.


1
Làm việc nhưng mỗi khi mở dos tôi phải đặt đường dẫn.
darren

7
Tôi thích sử dụngset path=%PATH%;%PYTHONPATH%;
Mr Thứ Tư

5
Dos và chỉnh sửa autoexec.bat ..! Có phải chúng ta đột nhiên trượt trở lại vào những năm 90?
drexiya

4
Trước đó, hãy lặp lại% PYTHONPATH% nếu điều này giúp bạn tiếp tục, nếu không, hãy đặt PYTHONPATH =.; C: \ My_python_lib Nếu bạn không, các cửa sổ sẽ mở rộng% PYTHONPATH% thành chuỗi trống như mong đợi, nó sẽ mở rộng giữ nó dưới dạng% PYTHONPATH% trong PYTHONPATH và mọi thứ sẽ vỡ! Nghe có vẻ điên rồ nhưng đó là cách win7 cmd hoạt động ...
ntg

69

Chỉ cần nối đường dẫn cài đặt của bạn (ví dụ : C: \ Python27 \ ) vào biến PATH trong các biến hệ thống . Sau đó đóng và mở dòng lệnh của bạn và gõ 'python' .


37
Đây là câu trả lời cho một câu hỏi hoàn toàn khác so với câu hỏi mà OP đang hỏi.
wpercy

1
Câu hỏi không phải là về việc PATHDOS sử dụng để tìm lệnh, mà là đường dẫn Python, tức là sys.pathtrong Python. Trong hầu hết các hệ điều hành, Python chỉ sử dụng biến môi trường hệ thống PYTHONPATH, nhưng Windows dường như là 'đặc biệt'.
Michael Scheper

52

Các giải pháp này hoạt động, nhưng chúng chỉ hoạt động cho mã của bạn trên máy của bạn. Tôi sẽ thêm một vài dòng vào mã của bạn trông như thế này:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

Điều đó sẽ giải quyết vấn đề của bạn


4
Sửa đổi sys.pathnhư thế này được tán thành và vì lý do tốt. Có nhiều cách tốt hơn để cấu hình sys.path- PYTHONPATHbiến môi trường và .pthtệp.
Piotr Dobrogost

38

Thêm PythonPythonPath vào môi trường Windows:

  1. Mở Explorer.
  2. Nhấp chuột phải vào 'Máy tính' trong Bảng điều hướng Cây bên trái.
  3. Chọn 'Thuộc tính' ở cuối Menu ngữ cảnh.
  4. Chọn 'Cài đặt hệ thống nâng cao'
  5. Nhấp vào 'Biến môi trường ...' trong tab Nâng cao
  6. Trong 'Biến hệ thống' :

    1. Thêm vào

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Nối

      • path

        %PY_HOME%;%PY_HOME%\Scripts\

3
Đây là giải pháp duy nhất làm việc cho tôi. Ngoài ra, đối với những người bạn không có quyền quản trị viên, chỉ cần làm theo các bước ở trên trong "Biến người dùng cho [yourUsername]" và nó cũng sẽ hoạt động tốt.
Giá vé KA

Python trên Windows, đánh giá cao node.js hơn một chút ngay bây giờ
Eddie

19

Cách dễ dàng hơn để đặt đường dẫn trong python là: nhấp vào bắt đầu> Máy tính của tôi> Thuộc tính> Cài đặt hệ thống nâng cao> Biến môi trường> cửa sổ thứ hai>

nhập mô tả hình ảnh ở đây

chọn Đường dẫn> Chỉnh sửa> rồi thêm "; C: \ Python27 \; C: \ Python27 \ Sc scripts \"

liên kết: http://docs.python-guide.org/en/latest/starting/install/win/


thay đổi đường dẫn hệ thống không thay đổi gì cả (cũng xóa nó). Nhưng gõ vào quản trị cmd đã hoạt động: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow


13

Bạn cũng có thể thêm một .pthtệp chứa c:\PythonX.Xthư mục mong muốn trong thư mục của bạn hoặc của bạn \site-packages folder, có xu hướng là phương pháp ưa thích của tôi khi tôi đang phát triển gói Python.

Xem ở đây để biết thêm thông tin.


9
import sys
sys.path.append("path/to/Modules")
print sys.path

Điều này sẽ không tồn tại trong quá trình khởi động lại hoặc được dịch sang các tệp khác. Tuy nhiên, thật tuyệt nếu bạn không muốn sửa đổi vĩnh viễn hệ thống của mình.


1
+1 cho khả năng đặt đường dẫn là thời gian chạy. trong khi được cho là "hacky", khi viết bằng chứng về khái niệm hoặc công việc một lần, điều này là hoàn hảo và khiến hệ thống không được sửa đổi.
Joshua đốt cháy

Tôi không đồng ý rằng bạn chỉ phải làm điều này một lần. Tôi thấy rằng đường dẫn thêm không tồn tại trong quá trình khởi động lại hạt nhân
StackG

8

Cách dễ nhất để thực hiện thành công là chạy lại trình cài đặt python (sau lần cài đặt đầu tiên) và sau đó:

  1. chọn Sửa đổi.
  2. kiểm tra các tính năng tùy chọn mà bạn muốn và nhấn Next.
  3. Ở đây chúng tôi đi, trong bước "Tùy chọn nâng cao", bạn phải thấy một tùy chọn có nội dung "Thêm Python vào các biến môi trường". Chỉ cần kiểm tra tùy chọn đó và nhấp vào Cài đặt. Bước 3 Khi quá trình cài đặt hoàn tất, các biến môi trường python được thêm vào và bạn có thể dễ dàng sử dụng python ở mọi nơi.

6

Trong Python 3.4 trên windows, nó hoạt động khi tôi thêm nó vào biến môi trường PATH thay vì PYTHONPATH. Giống như nếu bạn đã cài đặt Python 3.4 trong D: \ Lập trình \ Python34, sau đó thêm phần này vào cuối biến môi trường PATH của bạn

;D:\Programming\Python34

Đóng và mở lại dấu nhắc lệnh và thực thi 'python'. Nó sẽ mở vỏ trăn. Điều này cũng đã khắc phục sự cố Sublime 3 của tôi về 'python không được công nhận là lệnh nội bộ hoặc bên ngoài' .


Vâng, đây là giải pháp duy nhất cho tôi (Python 3.x). Tôi thực sự không biết tại sao% PYTHONPATH% không được giải quyết trên tham số Đường dẫn. Gọi thư mục của Tập lệnh là không cần thiết.
Davidson Lima

6

Đường dẫn python 2.X có thể được đặt từ một số hướng dẫn ở trên. Python 3 theo mặc định sẽ được cài đặt trong C: \ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \ Vì vậy, đường dẫn này phải được thêm vào biến Path trong môi trường windows.


5

Để tăng cường PYTHONPATH, hãy chạy regedit và điều hướng đến KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore và sau đó chọn thư mục cho phiên bản python mà bạn muốn sử dụng. Bên trong đây là một thư mục có nhãn PythonPath, với một mục nhập chỉ định các đường dẫn nơi cài đặt mặc định lưu trữ các mô-đun. Nhấp chuột phải vào PythonPath và chọn tạo khóa mới. Bạn có thể muốn đặt tên khóa theo dự án có vị trí mô-đun mà nó sẽ chỉ định; bằng cách này, bạn có thể dễ dàng ngăn xếp và theo dõi sửa đổi đường dẫn của mình.

cảm ơn


4

Biến môi trường PYTHONPATH được Python sử dụng để chỉ định danh sách các thư mục mà các mô-đun có thể được nhập từ trên Windows. Khi chạy, bạn có thể kiểm trasys.path biến để xem thư mục nào sẽ được tìm kiếm khi bạn nhập nội dung nào đó.

Để đặt biến này từ Dấu nhắc Lệnh, hãy sử dụng : set PYTHONPATH=list;of;paths.

Để đặt biến này từ PowerShell, hãy sử dụng: $env:PYTHONPATH=’list;of;paths’ ngay trước khi bạn khởi chạy Python.

Thiết lập biến này trên toàn cầu thông qua các thiết lập Environment Variables là không được khuyến khích, vì nó có thể được sử dụng bởi bất kỳ phiên bản của Python thay vì một trong những bạn có ý định sử dụng. Đọc thêm trong tài liệu Python trên Windows FAQ .


3

Đối với bất kỳ ai đang cố gắng đạt được điều này với Python 3.3+, trình cài đặt Windows hiện bao gồm một tùy chọn để thêm python.exe vào đường dẫn tìm kiếm hệ thống. Đọc thêm trong các tài liệu .


3

Câu hỏi này cần một câu trả lời thích hợp:

Chỉ cần sử dụng gói tiêu chuẩn site, được thực hiện cho công việc này!

và đây là cách (đạo văn câu trả lời của riêng tôi cho câu hỏi của riêng tôi về cùng một chủ đề):


  1. Mở một dấu nhắc Python và gõ
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Tạo thư mục này nếu nó chưa tồn tại:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Tạo một tệp sitecustomize.pytrong thư mục này chứa nội dung của FIND_MY_PACKAGESthủ công hoặc sử dụng một cái gì đó như mã sau đây. Tất nhiên, bạn phải thay đổi C:\My_Projectsđường dẫn chính xác đến vị trí nhập tùy chỉnh của bạn.
...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

Và lần tiếp theo bạn khởi động Python, C:\My_Projectssẽ xuất hiện trong bạn sys.pathmà không cần phải chạm vào các cài đặt toàn hệ thống. Phần thưởng: các bước trên cũng hoạt động trên Linux!


Đây là cách để đi dường như. Một giải pháp tốt, đa nền tảng và lâu dài. Tuyệt vời!
Pramesh Bajracharya

2

PYTHONPATHBiến này cần được đặt ArcPYkhi ArcGIS Desktop được cài đặt.

PYTHONPATH=C:\arcgis\bin (thùng nhà ArcGIS của bạn)

Vì một số lý do, nó không bao giờ được đặt khi tôi sử dụng trình cài đặt trên hệ thống Windows 7 32 bit.


2

Tôi đã làm cho nó hoạt động trong Windows 10 bằng cách làm theo các bước dưới đây.

Trong các biến môi trường, bạn chỉ nên thêm nó trong PATH của " Biến hệ thống " chứ không phải trong " Biến người dùng ". Đây là một sự nhầm lẫn lớn và ăn thời gian nếu chúng ta bỏ lỡ nó.

Ngoài ra, chỉ cần cố gắng điều hướng đến đường dẫn mà bạn đã cài đặt Python trong máy của mình và thêm nó vào PATH. Điều này chỉ hoạt động và không cần thêm bất kỳ điều gì khác trong trường hợp của tôi. Tôi đã thêm ngay bên dưới đường dẫn và nó đã hoạt động.

C: \ Users \ YourUserName \ AppData \ Local \ Programs \ Python \ Python37-32

Quan trọng nhất , đóng dấu nhắc lệnh, mở lại và sau đó thử gõ lại "python" để xem chi tiết phiên bản. Bạn cần khởi động lại dấu nhắc lệnh để xem phiên bản sau khi thiết lập đường dẫn trong các biến môi trường.

Sau khi khởi động lại, bạn sẽ có thể thấy dấu nhắc python và thông tin bên dưới khi nhập python trong dấu nhắc lệnh:

Khi gõ python trong dấu nhắc lệnh


1

Có thể hơi muộn, nhưng đây là cách bạn thêm đường dẫn đến Biến môi trường Windows.

  1. Chuyển đến tab Biến môi trường, bạn thực hiện việc này bằng cách nhấn phím Windows + Pausa inter.

  2. Chuyển đến Cài đặt hệ thống nâng cao.

  3. Nhấp vào Biến môi trường.

  4. Trên cửa sổ bên dưới tìm kiếm giá trị 'Đường dẫn'.

  5. Chọn nó

  6. Nhấp vào Chỉnh sửa

  7. Ở cuối dòng, thêm thư mục instalation của bạn và tuyến đến thư mục 'Sc scripts'.

  8. Nhấp vào ok, aceptar, vv

Bạn đã hoàn tất, nhập cmd và viết python từ bất kỳ vị trí nào trên ổ đĩa của bạn, nó sẽ vào chương trình Python.

Ví dụ với máy tính của tôi (tôi có Python34)

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

Hy vọng nó giúp.

Lời chào từ Bogotá


2
Thực sự là hơi muộn, vì câu trả lời này đã được cung cấp năm năm trước :-) Nó cũng không thực sự là những gì được hỏi ở đây (vì câu hỏi là về PYTHONPATH, không phải PATH) ...
Martin Tournoij 28/03/2016

2
Pausa liên là gì?
Ringo

0

Bạn có thể đặt biến đường dẫn dễ dàng bằng dấu nhắc lệnh.

  1. Mở chạy và viết cmd

  2. Trong cửa sổ lệnh, hãy viết như sau: set path =% path%; C: \ python36

  3. nhấn Enter.
  4. để kiểm tra viết python và nhập. Bạn sẽ thấy phiên bản python như trong hình.

nhập mô tả hình ảnh ở đây


0

Trong khi câu hỏi này là về 'Python' thực sự, nó đã xuất hiện trong một nghiên cứu trên web cho 'Iron Python PYTHONPATH'. Đối với người dùng Iron Python cũng bối rối như tôi: Hóa ra Iron Python tìm kiếm một biến môi trường được gọi làIRONPYTHONPATH .

Người dùng Linux / Mac / POSIX: Đừng quên rằng Windows không chỉ sử dụng \làm dấu tách đường dẫn mà còn sử dụng ;làm dấu phân cách đường dẫn chứ không phả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.