>>> sys.path[6]
/path/to/django
>>> sys.path.pop(6)
/path/to/django
Run Code Online (Sandbox Code Playgroud)
然后CTRL + D
$ python
>>> sys.path[6]
/path/to/django
Run Code Online (Sandbox Code Playgroud)
哦亲爱的...
我有一个脚本,我正在尝试设置shebang,以便我执行
./script.py而不是python script.py.当它是我脚本的最顶层时,这对我有用
#!/usr/bin/env python.这用env.
当我试图改变这个时
#/usr/local/lib/python2.7,我收到此错误消息
/usr/local/lib/python2.7: bad interpreter: Permission denied
Run Code Online (Sandbox Code Playgroud)
当我检查我的python版本时,它是
>>> import sys
>>> sys.version
'2.7.3 (default, Jun 21 2013, 13:45:37) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]'
>>>
Run Code Online (Sandbox Code Playgroud)
和sys.path给出/usr/local/lib/python2.7/*.虽然我没有看到任何具体的内容python2.7.3.
你可以指导我如何设置使用pythonpath而不是env.
谢谢
在 PyCharm 中,我有一个项目可以调用另一个项目的模块。
例如,假设我们有两个项目 abc 和 xyz。在项目 abc 中,我们有一个带有函数 f1() 的模块 abc.mod_a,在项目 xyz 中,我们有一个带有函数 f2() 的模块 xyz.mod_b。
abc.mod_a.py:
import xyz.mod_b
def f1():
xyz.mod_b.f2()
Run Code Online (Sandbox Code Playgroud)
xyz.mod_b.py:
def f2():
print("something was done")
Run Code Online (Sandbox Code Playgroud)
我已经做了以下工作来实现这一点:
我已将 xyz 添加为项目 abc 的项目依赖项:设置->项目->项目依赖项
我已将 xyz 主目录的路径添加到用于项目 abc 的解释器的 PYTHONPATH:设置->项目->项目解释器->全部显示->解释器路径->添加路径
当我运行使用 abc.mod_a.py 的代码时,我在初始 import xyz 语句中得到一个模块未找到错误。我究竟做错了什么?
项目结构就像
- a.py
- unittest
- test_a.py
Run Code Online (Sandbox Code Playgroud)
py
class A():
def function_a(self):
return 'function_a'
Run Code Online (Sandbox Code Playgroud)
测试_a.py
from a import A
class TestA():
def test_a(self):
assert A().function_a() == 'function_a'
Run Code Online (Sandbox Code Playgroud)
当我使用终端 和 时set PATHONPATH=//<my-project-folder>,可以通过 检测和测试它pytest。然而,当我尝试在 VScode 中调试它时,它不断抛出No module named a.
https://code.visualstudio.com/docs/python/environments#_environment-variable-definitions-file
我已经尝试过这种方法并将其放入.env我的项目文件夹中。
.env
PYTHONPATH=C:\\Repos\\test-project
Run Code Online (Sandbox Code Playgroud)
(我在有转义和没有转义的情况下都做到了,无论如何它都不起作用。)
.vscode/setting.json
{
"python.pythonPath": "C:\\Python27\\python.exe",
"python.testing.pytestArgs": [
"unittest"
],
"python.testing.unittestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.pytestEnabled": true,
"python.envFile": "${workspaceFolder}/.env",
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一个cron来运行自定义Django管理命令.我在DotCloud上运行.
当cron运行时,我收到以下错误:
Traceback (most recent call last):
File "./manage.py", line 2, in <module>
from django.core.management import execute_manager
ImportError: No module named django.core.management
Run Code Online (Sandbox Code Playgroud)
我认为这是因为cron在裸环境中运行,所以我尝试在同一个cron中手动设置PYTHONPATH.这是命令......
PYTHONPATH=/home/dotcloud/env/lib/python2.6/site-packages/setuptools-0.6c11-
py2.6.egg:/home/dotcloud/env/lib/python2.6/site-packages/pip-1.0.1-
Run Code Online (Sandbox Code Playgroud)
py2.6.egg:/家庭/ dotcloud /电流:/home/dotcloud/env/lib/python2.6:/home/dotcloud/env/lib/python2.6/plat-linux2:/家庭/ dotcloud/ENV/LIB/python2.6的/ LIB-TK:/home/dotcloud/env/lib/python2.6/lib-old:/home/dotcloud/env/lib/python2.6/lib-dynload:/ usr/lib中/ python2 0.6:/usr/lib64/python2.6:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib64/python2.6/lib-tk :/home/dotcloud/env/lib/python2.6/site-packages:/usr/local/lib/python2.6/dist-packages/virtualenv-1.6.1-py2.6.egg:在/ usr /本地/ LIB/python2.6的/站点包:/usr/local/lib/python2.6/dist-packages:/usr/lib/python2.6/dist-packages:/usr/lib/pymodules/python2.6
错误仍在发生,我不确定发生了什么.任何建议都非常感谢.
谢谢.
我设置的任何虚拟环境的sys.path都会发生奇怪和意外的事情.例如,一个干净的环境:
$ virtualenv test
$ source test/bin/activate
(test) $
Run Code Online (Sandbox Code Playgroud)
这是预期的PYTHONPATH:
(test) $ python
>>> import sys
>>> print '\n'.join(sys.path)
/home/user/test/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
/home/user/test/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg
/home/user/test/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
/home/user/test/lib/python2.7/site-packages/pip-1.1-py2.7.egg
/home/user/test/lib/python2.7
/home/user/test/lib/python2.7/plat-linux2
/home/user/test/lib/python2.7/lib-tk
/home/user/test/lib/python2.7/lib-old
/home/user/test/lib/python2.7/lib-dynload
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/home/user/test/local/lib/python2.7/site-packages
/home/user/test/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)
但这是我真正得到的:
(test) $ bpython
>>> import sys
>>> print '\n'.join(sys.path)
/usr/bin
/usr/lib/python2.7
/usr/lib/python2.7/plat-linux2
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚两个不同的sys.paths的原因.因此,没有pip安装工作!我正在使用Virtualenv 1.7.2,Ubuntu 12.04,Python 2.7.3.任何帮助将不胜感激.
如何在 Geany 中添加新的 pythonpath?我在偏好设置/选项中缺少某些内容吗?我尝试将其添加到 .bashrc 中,但它不起作用。
export PYTHONPATH=/mypath
Run Code Online (Sandbox Code Playgroud)
我现在要做的就是在每个脚本的顶部添加这两行,但这并不是一个永久的解决方案:
import sys
sys.path.append('mypath')
Run Code Online (Sandbox Code Playgroud) 好吧,我讨厌开始另外几个关于此问题的其他线程,但是如何设置或调整PYTHONPATH呢?我对Mac很新,而且我成功完成此操作的唯一一次是在Windows上使用Rapid Enviroment Editor.这看起来像一个完全不同的野兽.我尝试安装Django并且它没能为2.7做,而我需要3.4,所以当前路径必须是2.7.which python在终端中运行显示/usr/bin/python目录,然后我无法进入该目录,更不用说通过浏览找到了.我看到我的Python 3.4目录有Update Shell Profile文件,但它有很多限制.我还看到其他线程在IDLE中提到了PYTHONPATH命令,并为终端创建了一个bash配置文件类型文件.在我需要运行不同版本的Python之前,我该如何设置它并且不再担心它?我在Mac 10.9.2上."解释我就像五岁".
我想设置Pycharm在单个窗口中处理一组python项目。
可以说我有这个项目结构。
~/src
??? py_project1
??? py_project2
??? py_project3
??? other_lang_proj1
??? other_lang_proj2
Run Code Online (Sandbox Code Playgroud)
的系统PYTHONPATH /Library/Python/2.7/site-packages:/usr/local/lib/python2.7/site-packages:/opt/proprietary/packages
还有一些套餐
/opt/proprietary/packages
??? project1
??? project2
??? project3
Run Code Online (Sandbox Code Playgroud)
如何将〜/ src / py_project *项目添加到单个Pycharm窗口中,并让它们查看PYTHONPATH和/ opt / proprietary / packages / project *中的所有软件包?移动目录不是可选的,并且我不需要virtualenv。我想为所有打开的项目配置一次Pycharm。记录下来,除了Pycharm之外,PYTHONPATH在此设置下都可以正常工作。
PyCharm 执行脚本的方式与普通命令行执行的方式略有不同,这确实让我感到烦恼(哈哈) 。对于像我这样的新手来说,它使得项目和包配置变得困难。
问题:每次运行脚本时,无论是正常运行还是在 Python 控制台(运行 > 编辑配置)中,脚本文件夹和项目根目录都会自动附加到sys.path. 我希望其中之一,但不会两者兼而有之。
那么,有没有办法禁用或以其他方式配置此附加?我想在不操作每个可执行脚本开头的路径的情况下执行此操作,但如果有办法使用启动脚本或某种运行脚本,那就没问题了。
pythonpath ×10
python ×5
path ×3
pycharm ×3
python-2.7 ×2
bash ×1
cron ×1
dotcloud ×1
env ×1
geany ×1
macos ×1
shebang ×1
virtualenv ×1